Skip to content

Hammer speedup

Andrea Shepard requested to merge andrea/hammer:hammer-speedup into master

This branch adds _precomp versions of h_hashtable_get and h_hashtable_put which allow the caller to pass the hash in as a parameter, and modifies the packrat backend to use them, eliminating many unnecessary hash computations. Speed is increased by about 167% on the MP4 benchmark in https://github.com/rust-bakery/parser_benchmarks.git, and is now only about 12% behind nom.

I've also added a --force-debug build flag to enable -g in even the optimized build; callgrind needs debug symbols and so profiling benefits from a '-g -O3' build being easily available.

Merge request reports