AutobahnPython 19.3.1

Hey!

woah, first release announcement on the new forum=)

Got Autobahn for Python shipped in v19.3.1:

this release has a bunch of bugs fixed (for details please see Changelog — autobahn 21.2.2 documentation - thanks for contributions!) as well as an (partial) implementation of a new WAMP serializer using FlatBuffers FlatBuffers: FlatBuffers

FlatBuffers is interesting in the context of WAMP, and for Autobahn/Crossbar.io for 2 reasons:

  • because of its potential big savings on CPU especially on the read side
  • because of its potential to reach into tiny microcontrollers with WAMP - and a still missing AutobahnC

Anyways;) Probably too abstract, so here is a bunch of benchmarks comparing WAMP serialization performance if different Autobahn serializers (which are used in Crossbar.io too):

https://s3.eu-central-1.amazonaws.com/crossbario.com/docs/benchmarks/serialization/index.html

In short, serialization performance is (using a 50/50 mix of EVENT/PUBLISH messages):

  • 800k msgs/sec for empty application level payload (args/kwargs are None) using cbor on pypy
  • 5.3 GB/s for 128kB application level payload (args has a complex object with a 128kB binary) using cbor on cpython

This is pretty fast when you consider that the test machine has a Xeon E3 v3 with a measured STREAM memory bandwidth of ~20GB/s.

Anyways, we have more benchmarks upcoming at the Crossbar.io level that show how above works out in a real world WAMP based application. stay tuned.

Cheers,
/Tobias