“回顾”效果


10

我有一些使用的代码(looking-back … (line-beginning-position))。Doc字符串looking-back说明,由于速度慢,最好避免使用此功能。我很好奇以下方法会更快吗?

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

会更快。但这不是等效的代码。
abo-abo

@ abo-abo,是的,不是。但就我而言,我相信我可以looking-at轻松地引入版本。谢谢。
Geradlus_RU 2015年

2
回顾的最大性能问题是它没有限制(或距离很远的限制)。如果您认为(with-temp-buffer (insert (make-string 10000 ?x)) (looking-back "y"))您会很快看到。现在将regexp ".*y"改为:尽管人类读者清楚这永远无法匹配,但它的速度实在令人难以忍受。
YoungFrog 2015年

Answers:


9

绝对是 如果您只想测试char-before或向后搜索文字字符串,您将特别受益。如果必须使用,请looking-back尝试使用LIMIT参数(如果可能)。

有关示例,请参见Emacs错误#17284

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.