added benchmark results
This commit is contained in:
parent
f90102d57f
commit
ccb0bbf662
1 changed files with 35 additions and 3 deletions
34
README.md
34
README.md
|
|
@ -1,11 +1,43 @@
|
||||||
**Design decisions**
|
**Design decisions**
|
||||||
|
|
||||||
* built for speed and efficiency (within java)
|
* built for speed and efficiency (within java)
|
||||||
* uses storage format borrowed from SQLite with 1 exception: float is stored as f32 (SQLite only uses f64)
|
* uses storage format borrowed from SQLite with 1 exception: float is stored as f32 (SQLite only uses f64)
|
||||||
* needs jdk 9 (VarHandles)
|
* needs jdk 9 (VarHandles)
|
||||||
* minimal reflection (once per creation of the list)
|
* minimal reflection (once per creation of the list)
|
||||||
|
|
||||||
* The only class (for now): [ContiguousList](https://github.com/shautvast/Contiguous/blob/main/lib/src/main/java/com/github/shautvast/contiguous/ContiguousList.java)
|
* The only class (for
|
||||||
|
now): [ContiguousList](https://github.com/shautvast/Contiguous/blob/main/lib/src/main/java/com/github/shautvast/contiguous/ContiguousList.java)
|
||||||
|
|
||||||
* Still in a very early stage
|
* Still in a very early stage
|
||||||
* the code is working
|
* the code is working
|
||||||
* but it remains to be seen if this is a good idea
|
* but it remains to be seen if this is a good idea
|
||||||
|
|
||||||
|
**JMH Benchmark**
|
||||||
|
|
||||||
|
| Benchmark | Mode | Cnt | Score | Error | Units |
|
||||||
|
|------------|------|----:|-------------:|-------------:|-------|
|
||||||
|
| classic | avgt | 5 | 13312478.471 | ± 259931.663 | ns/op |
|
||||||
|
| contiguous | avgt | 5 | 13063782.511 | ± 451500.662 | ns/op |
|
||||||
|
|
||||||
|
--> pretty much on par despite all the overhead for inspecting the list elements
|
||||||
|
--> will try to squeeze out more performance
|
||||||
|
|
||||||
|
```
|
||||||
|
[ec2-user@ip-172-31-22-215 Contiguous]$ lscpu
|
||||||
|
Architecture: x86_64
|
||||||
|
CPU op-mode(s): 32-bit, 64-bit
|
||||||
|
Address sizes: 46 bits physical, 48 bits virtual
|
||||||
|
Byte Order: Little Endian
|
||||||
|
CPU(s): 1
|
||||||
|
On-line CPU(s) list: 0
|
||||||
|
Vendor ID: GenuineIntel
|
||||||
|
Model name: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
|
||||||
|
CPU family: 6
|
||||||
|
Model: 63
|
||||||
|
Thread(s) per core: 1
|
||||||
|
Core(s) per socket: 1
|
||||||
|
Socket(s): 1
|
||||||
|
Stepping: 2
|
||||||
|
BogoMIPS: 4800.04
|
||||||
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue