Implement |cache| option for |PEG.buildParser|
This option enables/disables the results cache in generated parsers. Until now, it was always enabled, but after this commit it needs to be enabled explicitly (i.e. the |cache| option default value is |false|). The reason is that parsing without it is *much* faster according to the benchmark. Note that disabling the cache breaks the linear parsing time guarantee, meaning that with some grammars you can get exponential parsing time with respect to the input length. This, together with the possibility of improving the cache performance in the future, is the reason to keep it as an option. Speed impact ------------ Before: 214.08 kB/s After: 827.52 kB/s Difference: 286.54% Size impact ----------- Before: 1045396 b After: 949783 b Difference: -9.15% (Measured by /tools/impact with Node.js v0.6.6 on x86_64 GNU/Linux.)redux
parent
1ee6731b51
commit
5b3321d302
Loading…
Reference in New Issue