Btw.. it looks like you can set useConsumerPriority=false on the destination policy entry and get a free 5% performance boost.
On Tue, Jun 2, 2015 at 8:16 AM, Kevin Burton <bur...@spinn3r.com> wrote: > Both are decent... Just not really for production use. One of the cool > things about java mission control is the overhead is only about one > percent. I would love to see other profilers catch up. > On Jun 2, 2015 7:26 AM, "Thiago Kronig" <thiagokro...@gmail.com> wrote: > >> YourKit <https://www.yourkit.com/> and JProfiler < >> http://www.ej-technologies.com/products/jprofiler/overview.html> are >> great >> commercial tools, and they have licenses for open source projects. >> >> On Tue, Jun 2, 2015 at 11:19 AM Kevin Burton <bur...@spinn3r.com> wrote: >> >> > On Tue, Jun 2, 2015 at 6:16 AM, Tim Bain <tb...@alumni.duke.edu> wrote: >> > >> > > Kevin, >> > > >> > > Great finds. What tool were you using? >> > > >> > > >> > Java Mission Control.. Free for development.. but I think the community >> > needs a real open source tool. Pseudo -free isn’t a good idea. >> > >> > >> > > Is it safe to assume you'll submit patches (when you have time) so we >> > don't >> > > need to capture these in JIRA? >> > > >> > >> > Might want to create one. The problem with my patch set, is that I’m >> still >> > stuck on 5.10.2. There’s a bug introduced sometime around 5.11 that >> only >> > impacts the memory store. I haven’t been able to track it down yet so I >> > can’t retarget my patches to head. That, and I think one of my patches >> > doesn’t work with LevelDB so I need to fix that. >> > >> > Realistically, I should fix all those issues so that I can move between >> > versions. >> > >> > >> > > >> > > Adding a synchronized Multimap<Consumer, Subscription> to >> > > ManagedRegionBroker looked good to me. It won't be threadsafe against >> > > simultaneous registers/unregisters for the same subscription, but it >> > looks >> > > like that class already has that problem so I don't think that's a >> reason >> > > not to do it. >> > > >> > >> > Or store a second concurrent hash map. that would fix it. >> > >> > >> > > >> > > In addConsumerToList(), I think we can do a sorted insertion (iterate >> > > through the list till you find the right place based on the >> comparator, >> > > then insert) to skip the re-sort. Either we'll be rolling the list >> or we >> > > won't, but either way the list will be in sorted order, except that >> the >> > > minimum element might not be the first one. So find the minimum >> > element's >> > > index (O(log N), but can be optimized to O(1) for the not-rolling >> case), >> > > then do a sorted insert starting at that index and wrapping if >> necessary. >> > >> > >> > True.. That would definitely make that faster. >> > >> > Kevin >> > -- >> > >> > Founder/CEO Spinn3r.com >> > Location: *San Francisco, CA* >> > blog: http://burtonator.wordpress.com >> > … or check out my Google+ profile >> > <https://plus.google.com/102718274791889610666/posts> >> > >> > -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts>