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.
DISCLAIMER : as always, you should benchmark against your payload and use case, the benchmark numbers I have produced here is unlikely to be representative of your use cases and neither is anybody else’s benchmark numbers.
You can use the simple test harness I created and see these example code to benchmark against your particular payload.
I recently added MS Bond to my benchmark and found some interesting numbers, which prompted a question on their repo.
Adam Sapek explained that the slow serialization speed I was seeing was down to the default buffer size being 64KB which is not suitable for the payload I was testing with.
Adjusting the buffer size to 256 bytes resulting in some pretty amazing result:
Fastest serialization & deserialization, and smallest payload.
Wow.
Have a look at the performance tuning guide, there’s quite a few tweaks you can do to improve performance further but it’ll depend on your payload.
Whenever you’re ready, here are 3 ways I can help you:
- 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.
- 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.
- Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.
Pingback: MS Bond and Chiron benchmarked | theburningmonk.com
The two graphs don’t use the same scale or order, so it’s kind of hard to tell, but it looks like everything else received a decent speedup, too.
I ran them on different machines, which is why all the numbers are different. It’s the relative difference that is important here though (I would make that more prominent in future benchmarks).