WorldAccess wa
Linear access
foreach(index; 0..CHUNK_SIZE_CUBE)
{
wa.getBlock(index);
}
Random access
auto randIndexes = iota(0, CHUNK_SIZE_CUBE).array;
randomShuffle(randIndexes);
foreach(index; randIndexes)
{
wa.getBlock(index);
}
+-------------------------------------------+
| time, ms |
+----------------+-----+---------------------+---------------------+
| | | squential access | random access |
| storage type | len +----------+----------+----------+----------+
| | | x32 | x64 | x32 | x64 |
+----------------+-----+----------+----------+----------+----------+
| uniform | 0 | 0,164 ms | 0,357 ms | 0,165 ms | 0,367 ms |
+----------------+-----+----------+----------+----------+----------+
| fullArray | max | 0,198 ms | 0,374 ms | 0,166 ms | 0,385 ms |
+----------------+-----+----------+----------+----------+----------+
| linearMap | 1 | 0,214 ms | 0,424 ms | 0,221 ms | 0,439 ms |
| linearMap | 2 | 0,253 ms | 0,506 ms | 0,262 ms | 0,502 ms |
| linearMap | 3 | 0,308 ms | 0,549 ms | 0,305 ms | 0,567 ms |
| linearMap | 4 | 0,356 ms | 0,615 ms | 0,450 ms | 0,613 ms |
| linearMap | 5 | 0,414 ms | 0,695 ms | 0,420 ms | 0,702 ms |
| linearMap | 6 | 0,466 ms | 0,778 ms | 0,476 ms | 0,774 ms |
| linearMap | 7 | 0,532 ms | 0,845 ms | 0,631 ms | 0,856 ms |
| linearMap | 8 | 0,571 ms | 0,956 ms | 0,560 ms | 0,923 ms |
+----------------+-----+----------+----------+----------+----------+
| hashMap | 1 | 0,739 ms | 0,993 ms | 0,817 ms | 0,972 ms |
| hashMap | 2 | 0,793 ms | 1,028 ms | 0,796 ms | 1,042 ms |
| hashMap | 3 | 0,857 ms | 1,092 ms | 0,863 ms | 1,063 ms |
| hashMap | 4 | 0,913 ms | 1,091 ms | 0,860 ms | 1,048 ms |
| hashMap | 5 | 0,931 ms | 1,129 ms | 0,837 ms | 1,135 ms |
| hashMap | 6 | 1,113 ms | 1,338 ms | 1,232 ms | 1,122 ms |
| hashMap | 7 | 1,056 ms | 1,334 ms | 0,853 ms | 1,097 ms |
| hashMap | 8 | 0,853 ms | 1,087 ms | 0,864 ms | 1,111 ms |
+----------------+-----+----------+----------+----------+----------+