Hi,
On 08/12/2013 08:35 PM, Pepijn Noltes wrote:
Hi Sascha,
Very interesting indeed, thanks for mailing this.
On Mon, Aug 12, 2013 at 2:32 PM, Sascha Zelzer
<[email protected]> wrote:
Hi,
I thought this might be of interest to you guys:
When I implemented the event admin spec in C++ for the CTK Plugin Framework,
I also literally took the Felix Java implementation and translated it to C++
(including the fancy stuff like sending asynchronous events in parallel and
blacklisting handlers given a certain timeout). After the implementation, I
did a performance test of the event admin (from Felix, Equinox,
Knopflerfish, and CTK) and found out that Felix performed the worst. This
might be due to the more complex implementation (related to blacklisting
etc.) but I didn't review the other Java implementations enough.
I attached screenshots of the diagrams showing some numbers (The
Knopflerfish event admin was by far the best performing) . The used versions
are:
I think you forgot the attachment, could you (re)send it?
I looked at my "Sent" folder and the attachments are there... maybe the
mailing list doesn't allow png attachments? I am trying to attach them
again, but you can also look at them here:
http://blog.cppmicroservices.org/images/event_admin_async_perf.png
http://blog.cppmicroservices.org/images/event_admin_sync_perf.png
Knopflerfish 3.4.0 with the packaged Event Admin bundle (version 3.0.7)
Eclipse Equinox as provided in Eclipse 3.7 together with the Eclipse Event
Admin bundle (version 1.2.100)
Felix Framework (version 4.0.3) with the Felix Event Admin bundle (version
1.3.2).
Personally I would like to see a good performance for the event admin
for Celix, especially because of it's potential target environment
(real-time embedded). So taking that in account and trusting that
Sascha did a good benchmark ;), I think it would be wise for Erik to
first take a look at the knoperfish implementation.
I guess I could dig up my OSGi test bundle if someone is interested in
trying to reproduce the results.
Best,
Sascha