incubator-directmemory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Perroud (Commented) (JIRA)" <>
Subject [jira] [Commented] (DIRECTMEMORY-70) Move Pointer.class and Pointer."statistics" into an intermediate class CacheEntry
Date Wed, 29 Feb 2012 12:19:57 GMT


Benoit Perroud commented on DIRECTMEMORY-70:

Thanks a lot for the review !

Answering your comments : 

The {{{TreeMap}}} usage is safe here because the map is initialized at initialization, then
only read. On {{{MergingByteBufferAllocatorImpl}}} the {{{TreeMap}}} manipulations are all
done inside a {{{Lock}}} guard, so should also be fine.

I will rework the {{{getCapacity()}}} to reduce it's computational cost.

The {{{ConcurrentLinkedQueue}}} is just used as a repository for free buffers. We don't care
about ordering, sorting or other, we just want to put a free buffer, and retrieve it later.
Here a {{{LinkedList}}} could fit but concurrency is expected, I didn't find a lighter structure
than this one.

The {{{ArrayList}} used in {{{MemoryManagerServiceImpl}}} is because we know the size of the
list, and we need index access. I just did it wrong, thanks for pointing this out :) Note
that buffers are not stored in this structure, but in the {{ConcurrentLinkedQueue}} so no
zillion entries here.

Regarding Guava iteration, I just copy-pasted the existing one, but I agree we should rework
on this. I will open a ticket for this point.

Thanks again for your time !

> Move Pointer.class and Pointer."statistics" into an intermediate class CacheEntry
> ---------------------------------------------------------------------------------
>                 Key: DIRECTMEMORY-70
>                 URL:
>             Project: Apache DirectMemory
>          Issue Type: Improvement
>            Reporter: Benoit Perroud
>         Attachments: DIRECTMEMORY-70-MemoryManagerService-to-hide-implementation.patch,
DIRECTMEMORY-70-byte-bufer-allocator.patch, DIRECTMEMORY-70-byte-bufer-allocator.patch, DIRECTMEMORY-72-byteBufferAllocator-v2.patch
> In order to achieve better separation of responsabilities, attributes like Pointer.class,
Pointer.hits, Pointer.lastHit, etc. should be moved into an intermediate class, for instance

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message