benchmark - nphyx/voctopus GitHub Wiki
Benchmarks
This page includes some benchmarks run against the current version of Voctopus. They're useful as a way to measure the impact of code changes. A brief description of each test suite follows.
Init Tests
These benchmarks cover certain maintenance operations:
- Create: the time it takes to instantiate a new Voctopus
- Expand: how long it takes to expand a buffer to maximum size
- Init: the total time to initialize every voxel in the octree to full depth
- Walk: the total time to walk to each voxel in the tree
R/W Tests
These tests measure how long reads and writes take using different interfaces. The octree is expanded to full size so that expansions won't interrupt r/w.
- Object: how long it takes to read/write using the getVoxel and setVoxel methods
- Direct: time to read/write using the direct getter/setter methods (Voc.set[field])
- Octet: time to read/write using the octet batch write (Voc.set[field])
Memory Tests
These tests measure r/w speeds without expansion, and how much memory is consumed by Voctopus' on-demand buffer expansion. The direct-write interfaces are used here.
BEGIN BENCHMARK
Initialization Tests
Depth | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|
Create | 0.000s | 0.000s | 0.000s | 0.000s | 0.000s | 0.000s |
Expand | 0.001s | 0.000s | 0.000s | 0.007s | 0.045s | 0.296s |
Init | 0.002s | 0.003s | 0.007s | 0.021s | 0.140s | 1.217s |
Walk | 0.001s | 0.002s | 0.004s | 0.012s | 0.074s | 0.798s |
R/W Tests Depth 8
Type | Read | Write | R/s | W/s | Dims | Voxels |
---|---|---|---|---|---|---|
voxel | 4.810s | 4.780s | 3487987 | 3509878 | 256^3 | 16777216 |
direct | 7.439s | 6.345s | 2255305 | 2644163 | 256^3 | 16777216 |
octet | 2.362s | 1.590s | 7102970 | 10551708 | 256^3 | 16777216 |
Memory Tests
Depth | Dims | Read | Write | Voxels | Octets | Memory |
---|---|---|---|---|---|---|
5 | 32^3 | 0.009s | 0.010s | 32768 | 137 | 0.063MB |
6 | 64^3 | 0.069s | 0.091s | 262144 | 11611 | 0.063MB |
7 | 128^3 | 0.897s | 1.321s | 2097152 | 117403 | 0.500MB |
8 | 256^3 | 7.468s | 19.394s | 16777216 | 1136611 | 4.000MB |