History log of /haiku/src/apps/text_search/Grepper.h
Revision Date Author Comments
# 33d4c8a6 06-Nov-2017 Philippe Houdoin <philippe.houdoin@gmail.com>

TextSearch: way speeder by using xargs + grep

* Previously, each file was starting a shell to run grep
command on it. Very suboptimal performance, big overhead.
* Now a thread write each file path to xargs input,
while another start xargs, let it distribute files on
grep processes (one per cpu) and collect results asap.
* This bring results way faster than previously.
* Rename Escape Text setting into Regular Expression, as
name was more after shell workaround than after function.
* While it doesn't use a native text searching, by
reusing both grep and xargs power, it answer the main
issue with #9529.


# f8f8d2bb 01-Apr-2015 Augustin Cavalier <waddlesplash@gmail.com>

Revert "TextSearch: use BString-based searching instead of Grep-based."

This reverts commit 1e9f5f5be4c8419c2085f51c78c9ac02ef13377b.
As per discussion on the ML.


# 1e9f5f5b 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: use BString-based searching instead of Grep-based.

Huge performance improvement. Fixes #9529.


# 90ce3113 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: normalize copyright headers.


# 696f4254 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: trim trailing whitespace.


# 68450777 04-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Refactoring
* FileIterator is now a mostly abstract interface
* FolderIterator is the currently only implementation (there could be
MessageIterator for an even better separation, which would read the top
level search folders from the BMessage with the selected poses, but it
would mostly use the same code for traversing the subfolders anyways so I
left that for the time being.)
* The Grepper and FolderIterator now copy the current settings from the Model
at instantiation. Since they run in a separate thread and the Model may
actually be changed from the Window thread, I think this is just a cleaner
and more safe solution.
* Cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fffad3f 03-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Refactored a new class FileIterator from Grepper that will make adding
node monitoring easier. Also, FileIterator will be split to make the code
cleaner with regards to folder or selection mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26752 a95241bf-73f2-0310-859d-f6bbb57e9c96


# edf2516d 02-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Moved TextSearch to apps folder, since it's actually a regular app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26738 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8f8d2bbece9d16213f5bab86584502bee94a22a 01-Apr-2015 Augustin Cavalier <waddlesplash@gmail.com>

Revert "TextSearch: use BString-based searching instead of Grep-based."

This reverts commit 1e9f5f5be4c8419c2085f51c78c9ac02ef13377b.
As per discussion on the ML.


# 1e9f5f5be4c8419c2085f51c78c9ac02ef13377b 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: use BString-based searching instead of Grep-based.

Huge performance improvement. Fixes #9529.


# 90ce3113565f4be9dfbf7cf4e17d00e62d43810b 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: normalize copyright headers.


# 696f4254ca7f5a847d2f8f6fdbdd39ec11581ca3 31-Mar-2015 Augustin Cavalier <waddlesplash@gmail.com>

TextSearch: trim trailing whitespace.


# 684507777be0a6a0acbbc67ed1bf60ce299e7dd1 04-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Refactoring
* FileIterator is now a mostly abstract interface
* FolderIterator is the currently only implementation (there could be
MessageIterator for an even better separation, which would read the top
level search folders from the BMessage with the selected poses, but it
would mostly use the same code for traversing the subfolders anyways so I
left that for the time being.)
* The Grepper and FolderIterator now copy the current settings from the Model
at instantiation. Since they run in a separate thread and the Model may
actually be changed from the Window thread, I think this is just a cleaner
and more safe solution.
* Cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fffad3f437a224769ce48659db1eaadfb5deeeb 03-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Refactored a new class FileIterator from Grepper that will make adding
node monitoring easier. Also, FileIterator will be split to make the code
cleaner with regards to folder or selection mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26752 a95241bf-73f2-0310-859d-f6bbb57e9c96


# edf2516d608ceca834fcb09d2a8a0be39c6c7c36 02-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Moved TextSearch to apps folder, since it's actually a regular app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26738 a95241bf-73f2-0310-859d-f6bbb57e9c96