…ered JSON. * Also bumped the reserved code cache size to prevent errors when building locally.
For large JValue objects, the `compact(render(value))` can be very CPU intensive. This adds a `compactRender` convenience method that renders a JValue directly to a String without the intermediate Document. A StringBuilder is used to avoid String concatenations. I added a new benchmark comparing the two serialization operations. Results on the large JValue running on core i7 MBP: lift-json (ser compact(render(jvalue)) 45607ms lift-json (ser compactRender(jvalue) 35144ms So the performance improvement can be quite large.
snippet name to class map will be cached on the LiftSession object to avoid duplicate searches. This is to a avoid a performance problem where the searches become expensive as many snippet packages are added and the number of classes loaded is very large.
Only the expectation returned in a spec is used for success/failure evaluation. Multiple clasues must be and'ed to gether. Also, add some naked expectations into proper specs in 'SerializationExamples' and 'LottoExample' so they are evaluated by the specs runner.