activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Burton <bur...@spinn3r.com>
Subject Re: More ActiveMQ hotspots.. courtesy of continuous profiling :)
Date Tue, 02 Jun 2015 15:16:30 GMT
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" <thiagokronig@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 <burton@spinn3r.com> wrote:
>
> > On Tue, Jun 2, 2015 at 6:16 AM, Tim Bain <tbain@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>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message