Author of pycapnp here. For those too lazy to click through, pycapnp is tremendously slower than C++/Rust. The equivalent benchmarks take about 20-50x as long.
What's more interesting to me is comparing it to other Python serialization libraries. I've been meaning to update the benchmarks with some popular ones (msgpack, thrift, and the built-in json module are at the top of my list). If there's some interest, I'll go ahead and post it to HN when I'm done.
You're probably thinking of the original version of Cap'n Proto's schema parser, which was written in Haskell. The code generation step that it helped to handle is not a part of this benchmark.
As far as I know, nobody has written a Cap'n Proto serialization runtime for Haskell yet.
18 comments
[ 2.8 ms ] story [ 46.2 ms ] threadhttps://groups.google.com/forum/#!topic/capnproto/BDpV6WEG5B...
What's more interesting to me is comparing it to other Python serialization libraries. I've been meaning to update the benchmarks with some popular ones (msgpack, thrift, and the built-in json module are at the top of my list). If there's some interest, I'll go ahead and post it to HN when I'm done.
It depends which implementation get compared.
If the standard implementations get used, that any strong typed language with ahead of time compilation to native code will win hands down.
Now if RubyMotion or PyPy are part of the benchmark, maybe they can achieve good enough performance.
As far as I know, nobody has written a Cap'n Proto serialization runtime for Haskell yet.
See http://kentonv.github.io/capnproto/otherlang.html .
(That said, there probably are some `unsafe` blocks that were not written with enough care, etc.)