
Updated benchmark: capnproto-rust vs. c++ - dwrensha
http://dwrensha.github.io/capnproto-rust/2014/01/15/benchmark-update.html
======
steveklabnik
I wonder if it'd be instructive to have a Ruby or Python benchmark too, just
to show how much you gain by using a lower-level language.

~~~
dwrensha
See this thread on the Cap'n Proto mailing list for some idea of how well
Python does on this benchmark:

[https://groups.google.com/forum/#!topic/capnproto/BDpV6WEG5B...](https://groups.google.com/forum/#!topic/capnproto/BDpV6WEG5Bw)

~~~
jparyani
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.

~~~
thinkpad20
Curious, how feasible would it be to simply call into existing C/C++ libraries
from python instead of writing it in pure python?

~~~
dwrensha
Pycapnp is not pure Python. It wraps Cap'n Proto's C++ dynamic API. See
[http://kentonv.github.io/capnproto/otherlang.html#supporting...](http://kentonv.github.io/capnproto/otherlang.html#supporting_dynamic_languages)
.

------
pjmlp
Quite good results, given that Rust is still quite a young language.

~~~
annnnd
Agreed. Also, less (/no?) memory related bugs counts for something too.

~~~
rjzzleep
i'd be surprised if there wasn't a decent amount of bugs still in the standard
library

~~~
dbaupp
There's probably not too many memory safety bugs in the standard library, most
of it is "safe" code (i.e. Rust code without any `unsafe`).

(That said, there probably _are_ some `unsafe` blocks that were not written
with enough care, etc.)

------
benth
For the "catrank" case, could you use std::str::raw::from_utf8 to skip the
utf-8 validity check?

