ArrayList vs LinkedList.
void addFirst(Blackhole bh, List<Integer> list) {
int index = 0;
list.add(index, 42);
bh.consume(list);
list.remove(index);
}- Count = 5
- Mode = avgt
- Score = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 166,541 | 4,148 |
| linked | 10 | 6,489 | 2,188 |
| array | 100 | 174,727 | 5,411 |
| linked | 100 | 6,242 | 0,113 |
| array | 1000 | 271,130 | 41,222 |
| linked | 1000 | 6,328 | 0,268 |
| array | 10000 | 1402,587 | 616,112 |
| linked | 10000 | 6,284 | 0,196 |
| array | 100000 | 14037,404 | 142,396 |
| linked | 100000 | 7,927 | 5,275 |
| array | 1000000 | 145173,967 | 1813,870 |
| linked | 1000000 | 10,419 | 4,249 |
void addMiddle(Blackhole bh, List<Integer> list) {
int index = list.size() / 2;
list.add(index, 42);
bh.consume(list);
list.remove(index);
}- Count = 5
- Mode = avgt
- Units = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 168,258 | 2,193 |
| linked | 10 | 14,050 | 1,026 |
| array | 100 | 176,150 | 27,045 |
| linked | 100 | 102,300 | 4,534 |
| array | 1000 | 216,975 | 41,597 |
| linked | 1000 | 1 143,048 | 22,466 |
| array | 10000 | 740,289 | 321,971 |
| linked | 10000 | 11 854,545 | 1 522,868 |
| array | 100000 | 6 834,025 | 1 803,712 |
| linked | 100000 | 116 610,383 | 3 183,270 |
| array | 1000000 | 72 438,658 | 666,111 |
| linked | 1000000 | 1 466 923,007 | 1 090 339,894 |
void addLast(Blackhole bh, List<Integer> list) {
list.add(42);
bh.consume(list);
int index = list.size() - 1;
list.remove(index);
}- Count = 5
- Mode = avgt
- Units = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 4,488 | 0,100 |
| linked | 10 | 5,965 | 0,099 |
| array | 100 | 4,507 | 0,054 |
| linked | 100 | 5,980 | 0,193 |
| array | 1000 | 4,489 | 0,074 |
| linked | 1000 | 5,975 | 0,193 |
| array | 10000 | 4,502 | 0,101 |
| linked | 10000 | 6,013 | 0,338 |
| array | 100000 | 4,492 | 0,033 |
| linked | 100000 | 7,433 | 8,296 |
| array | 1000000 | 4,500 | 0,087 |
| linked | 1000000 | 9,954 | 5,723 |
void forEach(Blackhole bh, List<Integer> list) {
for (Integer element : list) {
bh.consume(element);
}
}- Count = 5
- Mode = avgt
- Units = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 13,613 | 0,153 |
| linked | 10 | 14,408 | 0,100 |
| array | 100 | 128,542 | 1,563 |
| linked | 100 | 122,940 | 2,957 |
| array | 1000 | 1 227,973 | 20,511 |
| linked | 1000 | 1 386,562 | 14,682 |
| array | 10000 | 12 685,227 | 2 243,539 |
| linked | 10000 | 14 209,001 | 5 365,963 |
| array | 100000 | 133 826,368 | 1 865,819 |
| linked | 100000 | 136 968,251 | 1 589,867 |
| array | 1000000 | 1 340 493,816 | 23 125,453 |
| linked | 1000000 | 2 407 031,829 | 1 993 203,241 |
void forEachByIndex(Blackhole bh, List<Integer> list) {
for (int i = 0; i < list.size(); i++) {
bh.consume(list.get(i));
}
}- Count = 5
- Mode = avgt
- Units = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 9,703 | 0,092 |
| linked | 10 | 23,531 | 0,421 |
| array | 100 | 100,149 | 2,096 |
| linked | 100 | 1 467,424 | 29,160 |
| array | 1000 | 952,353 | 17,025 |
| linked | 1000 | 268 960,881 | 4 275,529 |
| array | 10000 | 9 475,338 | 73,683 |
| linked | 10000 | 29 112 736,364 | 1 044 288,404 |
| array | 100000 | 86 505,863 | 2 189,136 |
| linked | 100000 | 2 890 075 800,000 | 23 147 072,181 |
| array | 1000000 | 773 493,703 | 26 630,359 |
| linked | 1000000 | 305 859 002 180,000 | 39 599 782 358,621 |
void forEachByStream(Blackhole bh, List<Integer> list) {
list.stream().forEach(bh::consume);
}- Count = 5
- Mode = avgt
- Units = ns/op
| List | Size | Score | Error |
|---|---|---|---|
| array | 10 | 14,109 | 0,389 |
| linked | 10 | 20,047 | 0,413 |
| array | 100 | 43,807 | 0,908 |
| linked | 100 | 147,886 | 18,365 |
| array | 1000 | 338,732 | 21,480 |
| linked | 1000 | 1 220,351 | 57,839 |
| array | 10000 | 3 414,240 | 112,897 |
| linked | 10000 | 13 499,665 | 3 038,101 |
| array | 100000 | 43 963,571 | 5 358,098 |
| linked | 100000 | 126 405,650 | 59 323,272 |
| array | 1000000 | 732 486,958 | 30 655,566 |
| linked | 1000000 | 2 119 994,538 | 572 508,138 |