1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2024-12-12 19:18:24 +02:00
Commit Graph

1173 Commits

Author SHA1 Message Date
Andrew Gallant
79f62012d7 fix glob tests 2016-08-31 20:02:48 -04:00
Andrew Gallant
03d9df4303 tests and refactoring search 2016-08-31 15:52:35 -04:00
Andrew Gallant
d011cea053 The search code is a mess, but...
... we now support inverted matches and line numbers!
2016-08-29 22:44:15 -04:00
Andrew Gallant
c809679cf2 Lots of improvements. Most notably, removal of memory maps for searching.
Memory maps appear to degrade quite a bit in the presence of multithreading.

Also, switch to lock free data structures for synchronization. Give each
worker an input and output buffer which require no synchronization.
2016-08-28 20:18:34 -04:00
Andrew Gallant
1c8379f55a Implementing core functionality.
Initially experimenting with crossbeam to manage synchronization.
2016-08-28 01:37:12 -04:00
Andrew Gallant
065c449980 File path filtering works and is pretty fast.
I'm pretty disappointed by the performance of regex sets. They are
apparently spending a lot of their time in construction of the DFA,
which probably means that the DFA is just too big.

It turns out that it's actually faster to build an *additional* normal
regex with the alternation of every glob and use it as a first-pass
filter over every file path. If there's a match, only then do we try the
more expensive RegexSet.
2016-08-27 01:01:06 -04:00
Andrew Gallant
b55ecf34c7 globbing by regex 2016-08-25 21:44:37 -04:00
Andrew Gallant
957f90c898 docs and small polish 2016-08-24 18:33:35 -04:00
Andrew Gallant
61f49ba716 Remove the buffered reader.
We really need functionality like this when memory maps aren't suitable,
either because they're too slow or because they just aren't available (like
for reading stdin). However, this particular approach was completely bunk.
Namely, the interface was all wrong. The caller needs to maintain some kind
of control over the search buffers for special output features (like
contexts or inverted matching), but this interface as written doesn't
support that kind of pattern at all.

So... back to the drawing board.
2016-08-24 18:06:42 -04:00
Andrew Gallant
e97d75c024 Refactor buffered test. 2016-08-08 19:17:25 -04:00
Andrew Gallant
076eeff3ea update 2016-08-05 00:10:58 -04:00
Andrew Gallant
a3f609222c progress 2016-06-22 21:19:02 -04:00
Andrew Gallant
0163b39faa refactor progress 2016-06-20 16:55:13 -04:00
Andrew Gallant
8d9d602945 update 2016-04-03 21:22:09 -04:00
Andrew Gallant
07bff7409b tweaks 2016-03-30 22:24:59 -04:00
Andrew Gallant
f1a91307cd short matches 2016-03-30 20:44:26 -04:00
Andrew Gallant
79a51029c1 progress 2016-03-29 21:21:34 -04:00
Andrew Gallant
4ae67a8587 progress 2016-03-28 20:07:25 -04:00
Andrew Gallant
3b76981007 rename to xrep 2016-03-28 18:11:35 -04:00
Andrew Gallant
8996911681 makefile 2016-03-10 21:03:13 -05:00
Andrew Gallant
883ceb343c add readme 2016-03-10 21:02:08 -05:00
Andrew Gallant
403bb72a4d beating 'grep -E' on some things 2016-03-10 20:48:44 -05:00
Andrew Gallant
9d1e619ff3 initial commit 2016-02-27 11:07:26 -05:00