1373 Commits

Author SHA1 Message Date
Alex Coyte
4e9b0ad3fd rework mergeLeftfixesVariableLag() 2017-08-21 11:25:21 +10:00
Justin Viiret
164e5a929f fdr_compile: faster scoring code 2017-08-21 11:25:21 +10:00
Justin Viiret
3ff70d5568 insertion_ordered_{map,set}: add new containers
These are associative map/set structures that are iterable in insertion
order.
2017-08-21 11:25:21 +10:00
Alex Coyte
72973ccb47 violet: don't bother swapping holders if unable to trim graph 2017-08-21 11:25:21 +10:00
Alex Coyte
34ed4a6991 violet: maintain a reference to all the known implementable graphs 2017-08-21 11:25:12 +10:00
Alex Coyte
c693c44646 violet: do not remove more states from holders if dfa has been built 2017-08-21 11:25:12 +10:00
Wang, Xiang W
a645201675 UE-3147: ensure the same squash behavior for literals shared between different literal matchers 2017-08-21 11:25:03 +10:00
Justin Viiret
ba1df6412b groupByFragment: make fewer string copies 2017-08-21 11:24:52 +10:00
Justin Viiret
8eb55d4242 rose_build_exclusive: clean up use of vertex indices 2017-08-21 11:24:52 +10:00
Justin Viiret
d55e8fdf94 limex_compile: reduce state id lookups 2017-08-21 11:24:52 +10:00
Justin Viiret
58004f15f0 limex_compile: turn tugs into a bitset 2017-08-21 11:24:52 +10:00
Justin Viiret
1f2eb5a093 rose_build_lookaround: use vector in trimLiterals 2017-08-21 11:24:52 +10:00
Justin Viiret
4889a492e4 rose: more hash member funcs for rose types 2017-08-21 11:24:52 +10:00
Justin Viiret
09938d532f rose: return a vector from findEdgesByLiteral 2017-08-21 11:24:52 +10:00
Justin Viiret
927501175c rose_build_long_lit: refactor to do less dupe work
Also some performance improvements.
2017-08-21 11:24:52 +10:00
Alex Coyte
15784954e8 dynamic compression: add HS_CDECL to implementation 2017-08-21 11:24:52 +10:00
Alex Coyte
37033ef9bb Provide RoseResources to roseQuality.
RoseResources is an alternative to manually digging through the bytecode.
2017-08-21 11:24:52 +10:00
Alex Coyte
778addadc5 mangle fdr conf parts of scratch as well 2017-08-21 11:23:54 +10:00
Alex Coyte
ffc2d578b1 roseQuality() no longer needs to be part of rose's API. 2017-08-21 11:23:41 +10:00
Alex Coyte
41783fe912 more comments on hwlm/fdr's start parameter 2017-08-21 11:23:41 +10:00
Matthew Barr
56ec2dfc4a Remove out of date debug output 2017-08-21 11:23:41 +10:00
Alex Coyte
a847b4307a add dynamic stream compression to fat runtime 2017-08-21 11:23:41 +10:00
Matthew Barr
d33dcc0534 Remove unwanted move constructor 2017-08-21 11:20:22 +10:00
Matthew Barr
b8753e3daf clean up loops and add AVX-512 2017-08-21 11:20:22 +10:00
Matthew Barr
9d5a00bde1 Open input path once using file descriptor 2017-08-21 11:20:22 +10:00
Matthew Barr
7bcb58dea0 Catch by reference not value 2017-08-21 11:20:20 +10:00
Matthew Barr
30f93634b8 use string equality operator 2017-08-21 11:19:20 +10:00
Matthew Barr
c7f3150141 restore formatting flags after use 2017-08-21 11:19:20 +10:00
Matthew Barr
3d58ce83bd hsbench: use a memstream instead of a temp file 2017-08-21 11:19:20 +10:00
Alex Coyte
d878e8cdf3 add dynamic compression to the public api 2017-08-21 11:19:20 +10:00
Alex Coyte
e099d85524 CMake: put the stream compress files in the correct part 2017-08-21 11:19:11 +10:00
Alex Coyte
7b17f0eed7 dev reference documentation for stream compression 2017-08-21 11:19:11 +10:00
Hong, Yang A
205a5bc98f multibit compression support 2017-08-21 11:19:11 +10:00
Alex Coyte
5f6291529f hsbench: add stream compress functionality 2017-08-21 11:19:11 +10:00
Alex Coyte
952f0aad21 support dynamic stream compression 2017-08-21 11:18:54 +10:00
Alex Coyte
d9e2c3daca make ComponentRepeat::vacuous_everywhere() more accurate 2017-08-21 11:18:54 +10:00
Alex Coyte
1f3cfdccef mergeCastle: merge common repeats from the castles 2017-08-21 11:18:54 +10:00
Alex Coyte
f8544505ce mergeLeftfixesVariableLag: update comments, debugging support 2017-08-21 11:18:54 +10:00
Chang, Harry
404f739811 Compile dump of teddy's nibble masks and reinforcement table in fdr_dump.cpp 2017-08-21 11:18:43 +10:00
Justin Viiret
14cf5c3684 small_vector: require boost >= 1.61
We use the small_vector constructors introduced in Boost 1.61 (trac bug
11866, github commit b436c91). If the Boost version is too old, we fall
back to using std::vector.
2017-08-21 11:18:43 +10:00
Matthew Barr
2a044427c8 cmake: another convenience lib for compile side 2017-08-21 11:18:43 +10:00
Alex Coyte
68c8845d15 Do equivalency removal before violet's implementablity check.
This is helpful as removing/restoring literals may introduce redundancy in the
graphs. Also improve the implementation by caching known good holders.
2017-08-21 11:18:30 +10:00
Alex Coyte
aa6025012b Ensure max width of repeat before transforming graph. 2017-08-21 11:18:30 +10:00
Chang, Harry
72d21a9acf Refactored building reinforcement table at compile time and updated comments. 2017-08-21 11:14:59 +10:00
Chang, Harry
2b1d3383aa replace "_avx2" with "_fat". 2017-08-21 11:14:59 +10:00
Chang, Harry
8da2d13baa AVX512 Reinforced FAT teddy. 2017-08-21 11:14:59 +10:00
Justin Viiret
4528485a56 determinise: use find first, rather than emplace
For non-trivial StateSet types, copying to do the emplace if it is
already in the map is more expensive than checking with find() first.
2017-08-21 11:14:59 +10:00
Justin Viiret
33823d60d1 tidy: "ue2::flat_set/map" -> "flat_set/map" 2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9 util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.

The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
a425bb9b7c ue2_graph: move descriptors out of graph struct 2017-08-21 11:12:36 +10:00