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>

Reply via email to