Performance benchmarks updated

Yan Cui

I help clients go faster for less using serverless technologies.

This article is brought to you by

Don’t reinvent the patterns. Catalyst gives you consistent APIs for messaging, data, and workflow with key microservice patterns like circuit-breakers and retries for free.

Try the Catalyst beta

I recently reorganized the SimpleSpeedTester project’s structure so that it’s easier to add tests to both the Json and binary serializer benchmarks, and to run the tests is as easy as running the RunBenchmarks.fsx F# script and then choosing which benchmark you’d like to run and then kick back and wait for the results to come back.

 

DISCLAIMER : as always, you should be bench­mark against your pay­load and use case, the bench­mark num­bers I have pro­duced here is unlikely to be rep­re­sen­ta­tive of your use cases and nei­ther is any­body else’s bench­mark numbers.

You can use the sim­ple test har­ness I cre­ated and see this exam­ple code for my JSON seri­al­izer tests to bench­mark against your par­tic­u­lar payload.

 

Binary Serializers

image

image

Versions tested:

 

JSON Serializers

System.Json has been added to the list of serializers thanks to Mauricio’s pull-request.

image

image

P.S. protobuf-net is NOT a JSON serializer, but it’s in the mix here simply as a benchmark since it’s one of the more widely used and fastest serializers around, and useful to compare the BSON serializers in the list.

 

Versions tested:

 

Since I started doing these benchmarks more than two years ago, I have been impressed by the way Json.Net upped its game since those early benchmarks! Long may the healthy competition lasts between these JSON serializer heavyweights so that rest of us can simply reap the benefits of the great work guys like Demis Bellot and James Newton-King are doing in providing essential tooling in this space!

Whenever you’re ready, here are 3 ways I can help you:

  1. Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
  2. I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
  3. Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.

6 thoughts on “Performance benchmarks updated”

  1. Pingback: F# Weekly #5, 2014 | Sergey Tihon's Blog

  2. @David – sure, I’ll add it to the binary serializers test, been on my list for a while just haven’t got around to it.

  3. @Jon – I’ve not looked at OCaml at all, what is it about OCaml that makes serialization so much faster?

    Is the order of magnitude difference you mentioned specifically referring to the built-in serializers in OCaml vs .Net? Some of the open source serializers in .Net are doing a really good job of beating the BCL serializers.

Leave a Comment

Your email address will not be published. Required fields are marked *