@guy038 said:
Now, based on my test, have you conducted any similar tests of your own, and have you found that searching with Search++ also takes longer compared to the native search in N++ ?
I ran some tests this morning because I wanted to get a reference before I start testing changes to the multithread scheduling in Search++ — so I can verify that what is supposed to be better actually is better.
This is Windows 10 Pro, 64 bit, running on a 2019 desktop with a Core i9-9900K and 32 GB RAM.
D is an internal SSD. S is an internal HDD. U is a USB thumb drive. \\PEACOCK is another machine on the same local area network.
The content of the folder Testing2 on each drive is the same. It’s a mix of 3,762 files in 228 folders, 591 MB total. Somewhere around 5% are binary files (dll, exe, png, etc.).
For U, following your lead, I did a “repeat” running the same search immediately after the first; after that, I unplugged and reconnected the drive before proceeding to another test.
I couldn’t conveniently unplug the internal drives, but testing showed no significant variation in successive trials on D, S or PEACOCK.
Some of these results are surprising. (I thought the hard disk would be noticeably slower than the SSD, and I expected to see a repeat of your experience with the USB drive.) I suspect that some specialized knowledge I do not have, and perhaps a more controlled environment, is required to measure performance meaningfully, so all this should be taken as anecdotal.
Search++ 0.6.3.1:
D:\Quick\Testing2 a([^\r\n])[^\r\n]*b\1 0:08.71 149,919 matches in 2,505 of 3,762 files (Regex): a([^\r\n])[^\r\n]*b\1
D:\Quick\Testing2 the 0:01.44 445,907 matches in 3,342 of 3,762 files (Regex): the
S:\Testing2 a([^\r\n])[^\r\n]*b\1 0:08.91 149,919 matches in 2,505 of 3,762 files (Regex): a([^\r\n])[^\r\n]*b\1
S:\Testing2 the 0:01.10 445,907 matches in 3,342 of 3,762 files (Regex): the
U:\Testing2 a([^\r\n])[^\r\n]*b\1 0:16.36 149,919 matches in 2,505 of 3,762 files (Regex): a([^\r\n])[^\r\n]*b\1
U:\Testing2 (repeat) a([^\r\n])[^\r\n]*b\1 0:08.87 149,919 matches in 2,505 of 3,762 files (Regex): a([^\r\n])[^\r\n]*b\1
U:\Testing2 the 0:24.84 445,907 matches in 3,342 of 3,762 files (Regex): the
U:\Testing2 (repeat) the 0:01.03 445,907 matches in 3,342 of 3,762 files (Regex): the
\\PEACOCK\Testing2 a([^\r\n])[^\r\n]*b\1 0:12.32 149,919 matches in 2,505 of 3,762 files (Regex): a([^\r\n])[^\r\n]*b\1
\\PEACOCK\Testing2 the 0:07.07 445,907 matches in 3,342 of 3,762 files (Regex): the
Notepad++ 8.9.7:
D:\Quick\Testing2 a([^\r\n])[^\r\n]*b\1 1:53:64 Search "a([^\r\n])[^\r\n]*b\1" (149919 hits in 2505 files of 3762 searched) [RegEx]
D:\Quick\Testing2 the 0:14.14 Search "the" (445907 hits in 3342 files of 3762 searched) [RegEx]
S:\Testing2 a([^\r\n])[^\r\n]*b\1 1:53.99 Search "a([^\r\n])[^\r\n]*b\1" (149919 hits in 2505 files of 3762 searched) [RegEx]
S:\Testing2 the 0:12.42 Search "the" (445907 hits in 3342 files of 3762 searched) [RegEx]
U:\Testing2 a([^\r\n])[^\r\n]*b\1 2:08.20 Search "a([^\r\n])[^\r\n]*b\1" (149919 hits in 2505 files of 3762 searched) [RegEx]
U:\Testing2 (repeat) a([^\r\n])[^\r\n]*b\1 1:54.96 Search "a([^\r\n])[^\r\n]*b\1" (149919 hits in 2505 files of 3762 searched) [RegEx]
U:\Testing2 the 0:31.62 Search "the" (445907 hits in 3342 files of 3762 searched) [RegEx]
U:\Testing2 (repeat) the 0:14.16 Search "the" (445907 hits in 3342 files of 3762 searched) [RegEx]
\\PEACOCK\Testing2 a([^\r\n])[^\r\n]*b\1 2:11.36 Search "a([^\r\n])[^\r\n]*b\1" (149919 hits in 2505 files of 3762 searched) [RegEx]
\\PEACOCK\Testing2 the 0:29.46 Search "the" (445907 hits in 3342 files of 3762 searched) [RegEx]
(The reason for using [^\r\n] instead of . is that Notepad++ and Search++ have slightly different definitions of . when “matches newline” is not in effect: like Columns++, Search++ excludes only the characters that cause a line break in Scintilla, new line and return; while Notepad++ also excludes four other control characters, FF, NEL, LS and PS. The . is noticeably faster, but it returns different results for Search++ and Notepad++, almost certainly due to the binary files in Testing2.)
Edit: Added local area network tests.