Hi,

thanks Bob, I'll cut a release then now - if we improve things we can
simply cut a new one afterwards.

Now, if blacklisting is used (the default), synchronous event sending is
done in a separate thread. For asynchronous sending there are two threads
involved, the first one acting like kind of a queue and once an event is
fetched from the queue, the code from the async sending is used. And I
guess that explains the difference in performance.

Regards
Carsten


2014-08-22 2:53 GMT+02:00 Bob Paulin <b...@bobpaulin.com>:

> The test harness sets up several event handlers which receive the events
> and update the count of events received.  The timing is stopped when the
> count of events received is equal to the number of events sent.  The code
> does not set a timeout for the event admin and I'm not seeing any handlers
> getting blacklisted in the logs. The code for the test harness is at
>
> http://svn.apache.org/viewvc/felix/trunk/eventadmin/impl/
> src/test/java/org/apache/felix/eventadmin/ittests/
>
> The send event can be flipped from synchronous to asynchronous by flipping
> the boolean in the StressTestIT.java.  The events are still being processed
> very fast but it would be nice if the difference could be explained.
>
> protected void sendEvent(int index) {
>      final String postFix = String.valueOf(index % 10);
>      final String topic = PREFIX + '/' + postFix;
>      this.send(topic, null, *true*);
>  }
>
> - Bob
>
>
> On 8/21/2014 3:47 PM, Marcel Offermans wrote:
>
>> Are you turning off blacklisting of event handlers and making sure that
>> all events are actually received by someone as well?
>>
>> On 21 Aug 2014, at 17:15 pm, Bob Paulin <b...@bobpaulin.com> wrote:
>>
>>  Hi,
>>>
>>> I've got some things in progress but nothing that should hold up the
>>> release.  I'm seeing a significant variance in the test results so I've
>>> been making some tweaks to the IT that should hopefully smooth that out.
>>>  Perhaps the most interesting result I'm getting from the tests is that the
>>> postEvent (asynchronous delivery) is taking nearly twice as long as the
>>> sendEvents (synchronous delivery).  I would not expect that much difference
>>> in performance between the 2 types of submissions.
>>>
>>> Below is a typical run.  Post event vary by 10+ seconds between runs 40
>>> - 50 seconds is the typical range.  Send seems a bit more consistent with
>>> runs (22 - 26 seconds)
>>> postEvent
>>> 10500000 events in 43635ms
>>>
>>> sendEvent
>>> 10500000 events in 22914ms
>>>
>>> Any thoughts on why this might be?
>>>
>>> - Bob
>>> On 8/21/2014 4:49 AM, Carsten Ziegeler wrote:
>>>
>>>> THanks for your patch Bob, it's applied. The next release of the event
>>>> admin will have the version 1.4.0.
>>>>
>>>> I would like to cut a release as soon as possible, or do you think
>>>> something needs to changed before?
>>>>
>>>> Carsten
>>>>
>>>>
>>>> 2014-08-18 13:22 GMT+02:00 Carsten Ziegeler <cziege...@apache.org>:
>>>>
>>>>  Hi Bob,
>>>>>
>>>>> I think there is no good reason to keep it separate, I guess I just
>>>>> forgot
>>>>> to merge them into trunk :)
>>>>> Therefore, patches welcome :)
>>>>>
>>>>> Carsten
>>>>>
>>>>>
>>>>> 2014-08-17 20:31 GMT+02:00 Bob Paulin <b...@bobpaulin.com>:
>>>>>
>>>>> Hi,
>>>>>
>>>>>> Carsten would it make sense to move the IT test from the whiteboard to
>>>>>> the regular code base?  These tests only take about a minute and
>>>>>> require a
>>>>>> profile to run anyways so I think include them would be a good idea.
>>>>>> I'd
>>>>>> be happy to integrate the poms to allow this unless there's a reason
>>>>>> they
>>>>>> must be separate.  I also have a patch to upgrade it to Pax-Exam 4
>>>>>> which I
>>>>>> had to do for it to work with my OS.
>>>>>>
>>>>>> I'll work with those with the TCK for the performance/readability
>>>>>> enhancements but the IT test has been helpful already for some
>>>>>> tinkering.
>>>>>> Thanks for the direction!
>>>>>>
>>>>>> - Bob
>>>>>>
>>>>>>
>>>>>> On 8/15/2014 10:40 AM, Carsten Ziegeler wrote:
>>>>>>
>>>>>>  Hi,
>>>>>>>
>>>>>>>
>>>>>>> 2014-08-15 15:28 GMT+02:00 Jan Willem Janssen <
>>>>>>> janwillem.jans...@luminis.eu>
>>>>>>> :
>>>>>>>
>>>>>>>   On 15/08/14 14:58, Bob Paulin wrote:
>>>>>>>
>>>>>>>> I noticed in https://issues.apache.org/jira/browse/FELIX-3511 Java
>>>>>>>>> Concurrency is being introduced to the code base.  A couple of
>>>>>>>>> thoughts on this.
>>>>>>>>>
>>>>>>>>> 1) With this not being backwards compatible with earlier versions
>>>>>>>>> does it make sense to increment at least the minor version (ie 1.3
>>>>>>>>> -> 1.4). Java 8 introduces a slew of incompatibility with prior
>>>>>>>>> releases with the changes to the collection libraries so I'm
>>>>>>>>> curious how other projects are handling this.
>>>>>>>>>
>>>>>>>>>  As I understand the issue, it talks about going from Java 5 to
>>>>>>>> Java 6
>>>>>>>> as required version, but yes, strictly speaking this would mean a
>>>>>>>> minor bump at least. We should be more strict on this, I agree (made
>>>>>>>> the same mistake in the Felix HTTP project as well).
>>>>>>>>
>>>>>>>>   Actually, as far as I remember the idea was that the version
>>>>>>>> number
>>>>>>>>
>>>>>>> reflects the specification version it implements - but this might not
>>>>>>> really make sense, so bumping the minor version is a good thing.
>>>>>>>
>>>>>>>   2) Event admin has no tests.  I would be interested in working on
>>>>>>>
>>>>>>>> creating some tests for this project.  Any thoughts on where to
>>>>>>>>> begin with this effort?
>>>>>>>>>
>>>>>>>>>  I think the current implementation is written (and maintained) by
>>>>>>>> people that have access to the OSGi TCK, so they can tests the
>>>>>>>> implementation against the specification, which might explain the
>>>>>>>> lack
>>>>>>>> of unit and integration tests.
>>>>>>>>
>>>>>>>>   Yepp, the implementation passes the OSGi TCK which I believe
>>>>>>>> tests a
>>>>>>>>
>>>>>>> lot of
>>>>>>> aspects already.
>>>>>>>
>>>>>>>
>>>>>>>   But to get started: just start writing unit tests against the code
>>>>>>> in
>>>>>>>
>>>>>>>> trunk and provide them as patches. It is always good to have tests
>>>>>>>> written by somebody else, as they most often have new/fresh insights
>>>>>>>> in the use cases...
>>>>>>>>
>>>>>>>>   Absolutely, we also have some additional tests in the whiteboard
>>>>>>>> area
>>>>>>>>
>>>>>>> for
>>>>>>> event admin. It's basically a stress test.
>>>>>>>
>>>>>>>   3) It appears there maybe other areas of the event admin code that
>>>>>>>
>>>>>>>> might benefit from the Concurrency objects.  Perhaps the use of one
>>>>>>>>> of the Queue constructs for holding some of the asynchronous
>>>>>>>>> events.  Thoughts on this?
>>>>>>>>>
>>>>>>>>>  As long as it has positive effect on the performance, I think
>>>>>>>> nobody
>>>>>>>> will complaint about this, if you're willing to provide patches ;)
>>>>>>>>
>>>>>>>> Right :) This has all been written initially on Java 1.4 so there
>>>>>>>> might
>>>>>>>> be
>>>>>>>>
>>>>>>>>  areas which can be improved.
>>>>>>> However, a nicer implementation is one thing, the other one is
>>>>>>> performance.
>>>>>>> The goal should be to have a minimum on synchronization between
>>>>>>> threads
>>>>>>> to
>>>>>>> get the best performance. I'm not saying the current implementation
>>>>>>> is
>>>>>>> perfect though :)
>>>>>>>
>>>>>>> Carsten
>>>>>>>
>>>>>>>
>>>>>>>   - --
>>>>>>>
>>>>>>>> Met vriendelijke groeten | Kind regards
>>>>>>>>
>>>>>>>> Jan Willem Janssen | Software Architect
>>>>>>>> +31 631 765 814
>>>>>>>>
>>>>>>>> /My world is revolving around INAETICS and Amdatu/
>>>>>>>>
>>>>>>>> Luminis Technologies B.V.
>>>>>>>> Churchillplein 1
>>>>>>>> 7314 BZ   Apeldoorn
>>>>>>>> +31 88 586 46 00
>>>>>>>>
>>>>>>>> http://www.luminis-technologies.com
>>>>>>>> http://www.luminis.eu
>>>>>>>>
>>>>>>>> KvK (CoC) 09 16 28 93
>>>>>>>> BTW (VAT) NL8169.78.566.B.01
>>>>>>>> -----BEGIN PGP SIGNATURE-----
>>>>>>>> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
>>>>>>>> Comment: GPGTools - http://gpgtools.org
>>>>>>>>
>>>>>>>> iQIcBAEBAgAGBQJT7gruAAoJEKF/mP2eHDc4vO8QANxPmNAzlgzUbhxD0VfLN2++
>>>>>>>> SlFrTqAGxaIS3rI3fzacBn5Z/v12azwyKLE39WfUEak+i5539LrcQYu8b2mOg4ML
>>>>>>>> rtz2Yz6r/IcSDixO5y17HrdHyGle58u/gPzJecQqz5j3iqHi4P8eKtNx8FWrG91c
>>>>>>>> 3X56VsP0sb718YswDnu8WXwy8V8I6p1h5vJdYJRx2DcOml+TEcxHxGTH6h7pDePt
>>>>>>>> DcsPF7E3XaHGWpPvJ5GX8JYjzl80TM5xV4d47VAGdeVCY+JewsC6OlDtxhargGFG
>>>>>>>> O0wEM9RqI2/R9OTB1K6STIwQZvglyjvUp1odgGEvgl8B/kbSh7WHprtUWIrG+D8Z
>>>>>>>> cIEBjS9mYIkPEQQo0NMZIqt1XfEMiK5qElqa7v0z8IDGbhaPHy+vGpK84uhItz6M
>>>>>>>> ++tEZ66OGfNaVJG9ueY+093M/J70V57ylw3Mz1Vhf7yChNa1iuT+sCU0OLOPom4K
>>>>>>>> 4UL3H59m9SCXGzg5EoVEglpggdWZCaQ//73mWp7CLob6Kwk8xCvRtC5yVzbxIAgh
>>>>>>>> UUVcltvSvIDklu9l9k4Di15Q4VyDz9HSu2ZilJJcWln4ZnaanGqxdoRu4tORw7fg
>>>>>>>> jchVs8Bcw1TmSGTjAwzZkKlFoZfGPPkLpa9/SXYDPfsgeU43hqJyazQ7a7ll0SpP
>>>>>>>> 62oji7tQ0LgRHEnbuZcs
>>>>>>>> =PraV
>>>>>>>> -----END PGP SIGNATURE-----
>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>> Carsten Ziegeler
>>>>> Adobe Research Switzerland
>>>>> cziege...@apache.org
>>>>>
>>>>>
>>>>
>>
>


-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org

Reply via email to