Hammer speedup
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.