Looking at the code I see Jan implemented against v0.1 which is a lot
outdated. I would strongly suggest Jan to use 0.2-SNAPSHOT (yeah, I know
snapshots suck...) and us to work on a new release (it's about time)
focusing a bit more on performance instead of features. What do you guys
think?

Ciao,
    R


On Thu, Nov 8, 2012 at 6:16 AM, Raffaele P. Guidi <
[email protected]> wrote:

> Oh, sorry I didn't notice the github link (it's 5 'o clock in the morning
> here :-D ). Also why thirty 1mb buffers?
> Il giorno 08/nov/2012 06:11, "Christoph Engelbert" <[email protected]>
> ha scritto:
>
> Unsafe allocator alone won't speed it up that much because I guess he
>> relied on standard Serialization for his test.
>>
>>
>>
>> "Raffaele P. Guidi" <[email protected]> schrieb:
>>
>> >I don't believe integers or even 1kb buffers are the right case for
>> >directmemory. Small keys, large payloads (+4kb) are. In any case: how
>> >were
>> >the heap and xxmaxdirectmemory settings? And did you try the Unsafe
>> >storage
>> >as well? It would be helpful if you could share the benchmark code.
>> >
>> >Thanks,
>> >    R
>> >Il giorno 08/nov/2012 02:49, "Jan Kotek" <[email protected]> ha scritto:
>> >
>> >> Hi,
>> >>
>> >> MapDB now has DirectMemory storage.
>> >> I made little test to compare our two libraries + java.util.TreeMap
>> >>
>> >> All tests are on 64bit Linux, 16GB RAM, JDK6. Default JVM settings.
>> >> Source code is here: https://github.com/jankotek/**
>> >>
>> >mapdb-junk/tree/master/src/**main/java/**directMemoryBenchmark<
>> https://github.com/jankotek/mapdb-junk/tree/master/src/main/java/directMemoryBenchmark
>> >
>> >>
>> >>
>> >> First is performance test. How long does it take to insert and fetch
>> >1
>> >> million records, each 1KB large.
>> >>  - DM - 6901 ms
>> >>  - MapDB - 2045 ms
>> >>  - java.util.TreeMap - 940 ms
>> >>
>> >> Second is overhead test. It inserts pair of integers in cycle, until
>> >JVM
>> >> runs out of memory.
>> >> It should measure how much memory library each consumes for its own
>> >> structures.
>> >>  - DM - inserts 9 000 000 records and then it becomes very slow.
>> >Profiler
>> >> shows high GC activity.
>> >>  - MapDB - works about 10 minutes and than it runs out of memory with
>> > 217
>> >> 000 000 records.
>> >>  - java.util.TreeMap - crashes after 99 000 000 records , it consumed
>> >> about 12GB heap.
>> >>
>> >>
>> >> I am not sure I configured DM correctly, JVM kept crashing when I
>> >> increased size too much.
>> >> I ended with this setting:
>> >>
>> >>        CacheService<Object, Object> m = new DirectMemory<Object,
>> >Object>()
>> >>                 .setNumberOfBuffers( 30 )
>> >>                 .setSize((int) 1e8)
>> >>                 .setInitialCapacity( 10000 )
>> >>                 .setConcurrencyLevel( 4 )
>> >>                 .setDisposalTime(1000000)
>> >>                 .newCacheService();
>> >>
>> >>
>> >> Hope this helps.
>> >>
>> >> Jan
>> >>
>> >>
>>
>> --
>> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail
>> gesendet.
>
>

Reply via email to