Hi all,
The Snap team is pleased to announce the release of Snap 0.2.8.
Changes since 0.2.7
Improvements:
- Changed the way that
snap-server
handles its thread table in thelibev
backend. The old code was causing blackhole/lock contention on the shared table; we switched to a new concurrent hash map container type, which improved performance on the “PONG” benchmark from ~16k req/s to about ~22k req/s on mightybyte’s machine (a >35% improvement!).
Changes in behaviour:
- When POST bodies come in with
Content-Type: application/x-www-form-urlencoded
, Snap auto-parses them for you, entering the POST parameters into its parameter map. This was preventing a wai backend for Snap, becausewai
expects to be able to read the POST body itself. We’ve changedsnap-server
so that the POST body is still automagically processed, but you can still re-read the raw bytes if you want to. This means parsing POST bodies twice forwai
handlers, but it at least makes writing awai
adapter for Snap possible.