playframework/Play20 — pull request #899 by jroper (2013-03-25 01:28:33+00:00)
Title: Removed concurrency issue from JsValue serialization

JsValue serialization was encountering a bottle neck on the serializer
cache, we saw one instance of 109 threads concurrently blocked on it.
It doesn't need to go to the serializer cache since it can just call
itself recursively - this is what was happening anyway but first going
through 5 extra method calls.

This fix both makes serialization faster, and removes the potentially
blocking lookup for the serializer, and so should improve concurrency.
The crude benchmark included shows almost a 10x speed up on my machine.