J'ai du code à utiliser (looking-back … (line-beginning-position))
. La chaîne Doc looking-back
indique qu'il vaut mieux éviter cette fonction à cause de la lenteur. Je suis curieux de savoir que l'approche suivante sera plus rapide?
(save-excursion
(goto-char (line-beginning-position))
(looking-at regexp stuff))
regular-expressions
performance
save-excursion
Geradlus_RU
la source
la source
looking-at
version facilement. Je vous remercie.(with-temp-buffer (insert (make-string 10000 ?x)) (looking-back "y"))
vous verrez que c'est très rapide. Maintenant, changez l'expression rationnelle à la".*y"
place: c'est insupportablement lent même s'il est clair pour le lecteur humain que cela ne peut jamais correspondre.Réponses:
Absolument. Vous gagnerez particulièrement si vous voulez simplement tester
char-before
ou rechercher en arrière une chaîne littérale. Et si vous devez utiliser,looking-back
essayez d'utiliser unLIMIT
argument, si possible.Voir le bogue Emacs # 17284 pour un exemple.
la source