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