I am looking for information on native latency of processing event streams using RxCpp library, i.e. what is the library overhead of processing one simple message (for example, a pointer to an object)? How much time passes from an event being published by some source to it being finished processing by a trivial (does nothing) observer ?
I have done a lot of web-search, but do not seem to be able to find any benchmarks. I do not need exact numbers, but just the scale would be sufficient: is it milliseconds, microseconds, hundreds of nanoseconds?
rxcpp mostly syntax sugar but not only. It is a framework to build streams via bunch of operations applied to your data. As a contributor to rxcpp i can say, that after several recent commits performance should be a bit better (due to elimination of significant amount of copy/move calls over original objects). Anyway, internally it just passed objects into functions, send gotten values to next blocks and etc.
Anyway, internal logic is pretty straightforward for most operators (let's say, map or filter) and it is nothing else than obtaining value by universal reference, passing to user-defined lambda and passing value next. So, you will take overhead only by passing values and etc.
If you are interested in a specific amount of copies per operator, you can check unit tests inside rxcpp, i've added tests for each operator.