Java shared memory

Radek rsmogura at gmail.com
Mon May 30 22:57:26 UTC 2016


Dear Andrew,

I’ve just modified test case to convert bytes to long in code. The results are comparable.

Attached please find out files. Those are named as follow:
* memorymap - from MemoryMapMinMax, file map from FileMapMinMax
* memorymap2, filemap2 form *Bytes version respectively

I’m attaching text files with results, and test classes (those are my test classes, so not nicely formatted).

I could do something wrong with C2, but I think results are expected as NIO in back copies mapped array to Java array, does it? 

Best regards,
Radek

-------------- next part --------------
#Buff elements: 100000, size: 8192k, Passes: 20
0 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 603761040
1 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 728111306
2 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 741018590
3 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 762696928
4 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 755089822
5 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 740427411
6 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 742816317
7 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 730173385
8 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 740815757
9 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 763037060
10 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 726932019
11 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 753304564
12 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 717293891
13 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 751381095
14 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 742656183
15 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 726184735
16 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 749680217
17 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 743067688
18 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 745891564
19 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 751159051
-------------- next part --------------
#Buff elements: 100000, size: 8192k, Passes: 20
0 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 603761040
1 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 728111306
2 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 741018590
3 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 762696928
4 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 755089822
5 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 740427411
6 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 742816317
7 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 730173385
8 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 740815757
9 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 763037060
10 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 726932019
11 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 753304564
12 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 717293891
13 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 751381095
14 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 742656183
15 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 726184735
16 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 749680217
17 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 743067688
18 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 745891564
19 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 751159051
-------------- next part --------------
# Number of long: 8000000, memory size: 1048576k, Passes: 20, Map length: 134217728
0 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 182133105 13518400
1 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 160553100 13518400
2 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 167658082 13518400
3 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 158459398 13518400
4 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 156903719 13518400
5 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 154677765 13518400
6 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 152093471 13518400
7 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 151347810 13518400
8 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 152589867 13518400
9 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 149797910 13518400
10 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 152730427 13518400
11 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 160136382 13518400
12 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 158631013 13518400
13 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 161562794 13518400
14 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 164584449 13518400
15 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 168782804 13518400
16 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 163304066 13518400
17 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 170333855 13518400
18 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 163368154 13518400
19 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 158266465 13518400
Map file called, we will try to map file with MAP_SHARED
Target file: /var/tmp/data.bin, length 134217728, (implicite offset 0 for dev) 
File opened
File mapped 0 +1073741824
-------------- next part --------------
# Number of long: 8000000, memory size: 1048576k, Passes: 20, Map length: 1073741824
0 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 433209639 13518400
1 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 457178747 13518400
2 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 449907588 13518400
3 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 474602631 13518400
4 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 474324450 13518400
5 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 473446354 13518400
6 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 449217918 13518400
7 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 438597009 13518400
8 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 473729160 13518400
9 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 445272694 13518400
10 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 472940423 13518400
11 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 470607308 13518400
12 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 446378386 13518400
13 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 456660308 13518400
14 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 456613737 13518400
15 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 459116353 13518400
16 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 446825097 13518400
17 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 461088016 13518400
18 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 456485295 13518400
19 -9223371981257448248 9223372014692507235 e76edfa1b6d8fac5 478720999 13518400
Map file called, we will try to map file with MAP_SHARED
Target file: /var/tmp/data.bin, length 1073741824, (implicite offset 0 for dev) 
File opened
File mapped 0 +1073741824
-------------- next part --------------

-------------- next part --------------

> On 30 May 2016, at 22:10, Andrew Haley <aph at redhat.com> wrote:
> 
> On 30/05/16 19:48, Radek wrote:
> 
>> I’m able to map part of files as primitive java arrays. First
>> performance results are very optimistic (40% boost in searching
>> min-max long in 1GB file) with mapped long[] as a replacement to
>> LongBuffer.
> 
> It shouldn't be significantly different in performance.  Perhaps you
> can share your benchmark with us.  Maybe we're missing vectorization
> opportunities.
> 
> Andrew.



More information about the valhalla-dev mailing list