Binary and Json benchmarks updated

Yan Cui

I help clients go faster for less using serverless technologies.

It’s been a while since I last updated my binary and JSON serializer benchmarks, so here I round up the latest versions of the serializers on here.

 

DISCLAIMER : as always, you should 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 these exam­ple code to bench­mark against your par­tic­u­lar payload.

 

Binary

Only FsPickler was updated for this benchmark so there are no significant changes in numbers here (with the exception of the BinaryWriter!).

image

image

 

JSON

Quite a few of the JSON serializers have been updated:

  • FsPickler
  • Jil
  • MongoDB Driver
  • NetJson
  • Newtonsoft.Json (aka Json.Net)
  • ServiceStack.Text

Jil seems to have made the biggest gains since the last time.

image

image

*protobuf-net is in this list purely as a benchmark to show how the test JSON serializers compare to one of the fastest binary serializers (both in terms of speed and payload size)


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.
  2. Consulting: If you want to improve feature velocity, reduce costs, and make your systems more scalable, secure, and resilient, then let’s work together and make it happen.
  3. Join my FREE Community on Skool, where you can ask for help, share your success stories and hang out with me and other like-minded people without all the negativity from social media.

 

5 thoughts on “Binary and Json benchmarks updated”

  1. Pingback: MS Bond and Chiron benchmarked | theburningmonk.com

  2. I’ve used this article many times to advocate for “performance as a feature” to companies. At this point the article is a year and a half out of date, and many of these libraries have had multiple updates (ex: NetJSON has had over 20)…. any chance you could re-run these tests with the latest and publish?

  3. theburningmonk

    Hi Travis, sure thing. I have been away from the .Net world for about a year now hence the lack of update here, apologies.

    I’ll put some time aside later this week to get these benchmarks updated. You should also take a look at Matt Warren’s BenchmarkDotNet library which is a very powerful tool for running benchmarks yourself and it spits out a bunch of useful metrics which I’m not able to capture with my simple benchmarks.

Leave a Comment

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