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> > > >