[ https://issues.apache.org/jira/browse/FELIX-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793960#action_12793960 ]
Carsten Ziegeler commented on FELIX-1913: ----------------------------------------- The processing of async events is very slow as well as they are put in a queue as well - this could be done in parallel, too. In the meantime I've rewritten the event admin as a proof of concept. My version now uses a thread pool (currently from jdk 1.5 - but this can be backportet for older java versions). The events are processed in parallel (if possible) by using this thread pool. This gives a real performance boost with lots of events and several listeners. Just as an example: I create 1000 events which are sent directly one after the other and 4 listeners - each listeners takes 50ms - each listener gets each event. As the listeners are processed one after other a single event delivery takes 200ms. The old implementation processes the 1000 events one after the other - so the total delivery time is 1000 * 200ms. The new implementation takes a configurable thread pool - in my example I use 25 threads - therefore 25 events are processed in parallel, total delivery time goes down to 40 * 200ms > All events are processed in a queue > ----------------------------------- > > Key: FELIX-1913 > URL: https://issues.apache.org/jira/browse/FELIX-1913 > Project: Felix > Issue Type: Improvement > Components: Event Admin > Affects Versions: eventadmin 1.0.0 > Reporter: Carsten Ziegeler > Assignee: Karl Pauls > Priority: Minor > Attachments: ea.patch > > > The current event admin implementation puts all events into a queue and > processes this queue in one thread. This creates a bottleneck when different > threads send events as they have to wait for other threads to be processed > first. Events from different threads can be processed in parallel. > In the async mode, event deliver might take a long time as these events are > processed one after the other as well. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.