bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46859: 28.0.50; [PATCH]: Add option to truncate long lines in xref.e


From: Dmitry Gutov
Subject: bug#46859: 28.0.50; [PATCH]: Add option to truncate long lines in xref.el
Date: Sat, 6 Mar 2021 16:26:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

On 06.03.2021 14:54, Gregory Heytings wrote:
Also: grepping for that kind of regexp is noticeably slower than grepping for 'file'. Or even '.file'. Like 85ms vs 7ms slower.


Well, the bug report mentioned delays of 3-4 seconds on files with very long lines, so I'd guess that 85 ms is a pretty reasonable speed...

We do want fast searches to remain fast, too.

I got that 85ms timing when searching just one file. A project can often contain thousands of files.

In my further testing, the difference is not as stark because of other Elisp overhead on file listing, serialization/deserialization/process calls/parsing output, but even with all that in my work project the difference between such searches can be 0.27s vs 0.43s.

With further optimizations of project file listing logic, the difference can become even more pronounced (project-files in the same project takes 0.14s).

You can benchmark it yourself with this form:

(benchmark 1 '(project-find-regexp ".\\{0,100\\}file.\\{0,100\\}"))

vs

(benchmark 1 '(project-find-regexp "file"))

(I get 9s vs 7s in the same project for this particular search).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]