У меня есть код, использующий (looking-back … (line-beginning-position))
. Строка документа looking-back
гласит, что эту функцию лучше избегать из-за медлительности. Мне интересно, будет ли следующий подход быстрее?
(save-excursion
(goto-char (line-beginning-position))
(looking-at regexp stuff))
Это будет быстрее. Но это не эквивалентный код.
—
abo-abo
@ abo-abo, да, это не так. Но в моем случае я считаю, что могу
—
Geradlus_RU
looking-at
легко представить версию. Спасибо.
Самая большая проблема с производительностью при просмотре - когда у него нет предела (или предела, который находится далеко). Если вы
—
YoungFrog
(with-temp-buffer (insert (make-string 10000 ?x)) (looking-back "y"))
подумаете, то увидите, что это очень быстро. Теперь ".*y"
вместо этого измените регулярное выражение : оно невыносимо медленно, хотя читателю ясно, что оно никогда не сможет сравниться.