The Snap team is pleased to announce the release of Snap 0.2.8.
Changes since 0.2.7
- Changed the way that
snap-serverhandles its thread table in the
libevbackend. 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, because
waiexpects to be able to read the POST body itself. We’ve changed
snap-serverso 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 for
waihandlers, but it at least makes writing a
waiadapter for Snap possible.