Payload Sizes
The heavy validation route on every server, at four payload sizes from about 1 KB to 4 MB. It shows what happens when a request no longer fits in one network read.
Each size also runs the same mion server with compact JSON, which sends objects without their key names. Percentages are against plain JSON.
How it is tested~1 KB
JSON vs compact JSON:
~50 KB
JSON vs compact JSON:
~500 KB
JSON vs compact JSON:
~4 MB
JSON vs compact JSON:
Test Setup
Each request is the updateUser call from heavy validation, padded to the target size by repeating its payment methods. Each one is a member of a discriminated union in the model, so every server validates the whole body at every size. All the hello world servers run here, so the sizes compare frameworks, not just mion's own adapters.
mion.compact is the mion server with parser: 'compact' on the router. Bytes count the request and response bodies of one call, without headers.