Last week I released an important update and forgot to post about it!

3 months work of profiling and optimisation finally finished:

10x Release (1.0.366) - Parser X2 Speedup

The optimisations were mostly related to removing lock contention and allocations:

- Custom allocators to avoid hitting global alloc
- More pools for struct and array re-use
- Created new multi-lock large hash map container
- Tweaking memory compression variables to reduce compression cache thrashing
- Reorganising data to be more lock friendly
- Caching of frequently requested data to avoid hot lock paths
...

Reducing locks got a good speed-up on it's own, but also meant the max thread count could be increased.

In all there were 21 optimisations. The hardest part of making sure that nothing got broken in the process.