룩 백백 성능


10

를 사용하는 코드가 (looking-back … (line-beginning-position))있습니다. Doc string of looking-backstates는 속도가 느려서이 기능을 피하는 것이 좋습니다. 접근 방식이 더 빠를까 궁금합니다.

(save-excursion
  (goto-char (line-beginning-position))
  (looking-at regexp stuff))

더 빠를 것입니다. 그러나 이것은 동등한 코드가 아닙니다.
abo-abo

@ abo-abo, 그렇습니다. 그러나 제 경우에는 looking-at버전을 쉽게 소개 할 ​​수 있다고 생각 합니다. 감사합니다.
Geradlus_RU

2
되돌아보기의 가장 큰 성능 문제는 제한이 없거나 멀리있는 경우입니다. 당신이 고려한다면 당신 (with-temp-buffer (insert (make-string 10000 ?x)) (looking-back "y"))은 그것이 매우 빠르다는 것을 알 수 있습니다. 이제 정규 표현식을 ".*y"대신 변경하십시오 : 인간 독자에게는 이것이 결코 일치 할 수 없다는 것이 분명하더라도 견딜 수 없을 정도로 느립니다.
YoungFrog

답변:


9

명확히. char-before리터럴 문자열 을 테스트 하거나 뒤로 검색 하려는 경우 특히 얻을 수 있습니다 . 그리고 사용해야 할 경우 가능한 경우 인수 looking-back를 사용 LIMIT하십시오.

예제는 Emacs 버그 # 17284 를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.