Project-OSRM / osrm-backend

Open Source Routing Machine - C++ backend
http://map.project-osrm.org
BSD 2-Clause "Simplified" License
6.42k stars 3.4k forks source link

Experiments with Node bindings optimisation #7007

Closed SiarheiFedartsou closed 3 months ago

SiarheiFedartsou commented 3 months ago

Issue

What issue is this PR targeting? If there is no issue that addresses the problem, please open a corresponding issue and link it here.

Please read our documentation on release and version management. If your PR is still work in progress please attach the relevant label.

Tasklist

Requirements / Relations

Link any requirements here. Other pull requests this PR is based on?

Benchmark Results

| Benchmark | Base | PR | |-----------|------|----| | alias | aliased u32: 11079.8
plain u32: 10976.1
aliased double: 15117.7
plain double: 15073.6 | aliased u32: 11100.3
plain u32: 10927.9
aliased double: 15056
plain double: 15064.8 | | e2e_match_ch | Ops: 25.67 ± 0.02 ops/s. Best: 25.70 ops/s
Total: 5102.99ms ± 3.70ms. Best: 5097.81ms
Min time: 3.07ms ± 0.05ms
Mean time: 38.96ms ± 0.03ms
Median time: 29.05ms ± 0.13ms
95th percentile: 133.82ms ± 0.14ms
99th percentile: 163.28ms ± 0.36ms
Max time: 173.94ms ± 0.95ms | Ops: 25.38 ± 0.01 ops/s. Best: 25.41 ops/s
Total: 5161.05ms ± 2.99ms. Best: 5156.40ms
Min time: 3.03ms ± 0.06ms
Mean time: 39.40ms ± 0.02ms
Median time: 29.36ms ± 0.16ms
95th percentile: 135.54ms ± 0.40ms
99th percentile: 165.62ms ± 0.34ms
Max time: 177.64ms ± 1.07ms | | e2e_match_mld | Ops: 43.75 ± 0.03 ops/s. Best: 43.80 ops/s
Total: 2994.51ms ± 2.26ms. Best: 2990.80ms
Min time: 2.58ms ± 0.03ms
Mean time: 22.86ms ± 0.02ms
Median time: 12.02ms ± 0.10ms
95th percentile: 74.99ms ± 0.23ms
99th percentile: 86.80ms ± 0.23ms
Max time: 99.90ms ± 0.36ms | Ops: 43.55 ± 0.03 ops/s. Best: 43.60 ops/s
Total: 3008.24ms ± 2.24ms. Best: 3004.69ms
Min time: 2.56ms ± 0.04ms
Mean time: 22.96ms ± 0.02ms
Median time: 11.99ms ± 0.08ms
95th percentile: 75.40ms ± 0.16ms
99th percentile: 87.56ms ± 0.34ms
Max time: 100.66ms ± 0.31ms | | e2e_nearest_ch | Ops: 636.00 ± 3.77 ops/s. Best: 641.59 ops/s
Total: 1572.32ms ± 9.75ms. Best: 1558.62ms
Min time: 1.27ms ± 0.00ms
Mean time: 1.57ms ± 0.01ms
Median time: 1.54ms ± 0.01ms
95th percentile: 1.96ms ± 0.01ms
99th percentile: 2.04ms ± 0.01ms
Max time: 9.30ms ± 7.34ms | Ops: 637.60 ± 7.08 ops/s. Best: 649.88 ops/s
Total: 1568.77ms ± 18.31ms. Best: 1538.74ms
Min time: 1.27ms ± 0.01ms
Mean time: 1.57ms ± 0.02ms
Median time: 1.53ms ± 0.01ms
95th percentile: 1.96ms ± 0.01ms
99th percentile: 2.04ms ± 0.01ms
Max time: 9.38ms ± 7.40ms | | e2e_nearest_mld | Ops: 638.37 ± 3.77 ops/s. Best: 643.70 ops/s
Total: 1566.28ms ± 9.58ms. Best: 1553.51ms
Min time: 1.27ms ± 0.01ms
Mean time: 1.57ms ± 0.01ms
Median time: 1.53ms ± 0.00ms
95th percentile: 1.95ms ± 0.01ms
99th percentile: 2.04ms ± 0.01ms
Max time: 9.34ms ± 7.40ms | Ops: 638.49 ± 3.43 ops/s. Best: 643.17 ops/s
Total: 1566.00ms ± 8.68ms. Best: 1554.80ms
Min time: 1.26ms ± 0.01ms
Mean time: 1.57ms ± 0.01ms
Median time: 1.52ms ± 0.01ms
95th percentile: 1.96ms ± 0.01ms
99th percentile: 2.04ms ± 0.02ms
Max time: 9.44ms ± 7.49ms | | e2e_route_ch | Ops: 217.34 ± 0.46 ops/s. Best: 218.31 ops/s
Total: 4601.24ms ± 10.11ms. Best: 4580.60ms
Min time: 1.89ms ± 0.03ms
Mean time: 4.60ms ± 0.01ms
Median time: 4.69ms ± 0.01ms
95th percentile: 6.07ms ± 0.02ms
99th percentile: 6.58ms ± 0.03ms
Max time: 13.24ms ± 6.37ms | Ops: 217.50 ± 0.36 ops/s. Best: 218.13 ops/s
Total: 4597.58ms ± 7.68ms. Best: 4584.34ms
Min time: 1.84ms ± 0.05ms
Mean time: 4.60ms ± 0.01ms
Median time: 4.68ms ± 0.02ms
95th percentile: 6.05ms ± 0.02ms
99th percentile: 6.60ms ± 0.03ms
Max time: 13.35ms ± 6.38ms | | e2e_route_mld | Ops: 179.00 ± 0.35 ops/s. Best: 179.70 ops/s
Total: 5586.59ms ± 10.76ms. Best: 5564.83ms
Min time: 1.83ms ± 0.03ms
Mean time: 5.59ms ± 0.01ms
Median time: 5.70ms ± 0.02ms
95th percentile: 7.63ms ± 0.02ms
99th percentile: 8.16ms ± 0.05ms
Max time: 14.68ms ± 5.92ms | Ops: 179.32 ± 0.39 ops/s. Best: 179.95 ops/s
Total: 5576.75ms ± 11.99ms. Best: 5557.08ms
Min time: 1.84ms ± 0.07ms
Mean time: 5.58ms ± 0.01ms
Median time: 5.69ms ± 0.02ms
95th percentile: 7.60ms ± 0.02ms
99th percentile: 8.14ms ± 0.07ms
Max time: 14.69ms ± 5.93ms | | e2e_table_ch | Ops: 215.99 ± 0.46 ops/s. Best: 216.69 ops/s
Total: 4629.63ms ± 10.46ms. Best: 4614.90ms
Min time: 2.51ms ± 0.04ms
Mean time: 4.63ms ± 0.01ms
Median time: 4.62ms ± 0.01ms
95th percentile: 6.28ms ± 0.01ms
99th percentile: 6.62ms ± 0.02ms
Max time: 13.71ms ± 7.01ms | Ops: 216.62 ± 0.45 ops/s. Best: 217.26 ops/s
Total: 4615.95ms ± 9.07ms. Best: 4602.70ms
Min time: 2.51ms ± 0.04ms
Mean time: 4.62ms ± 0.01ms
Median time: 4.62ms ± 0.01ms
95th percentile: 6.25ms ± 0.03ms
99th percentile: 6.61ms ± 0.02ms
Max time: 13.72ms ± 7.00ms | | e2e_table_mld | Ops: 70.53 ± 0.05 ops/s. Best: 70.61 ops/s
Total: 14177.58ms ± 9.80ms. Best: 14163.24ms
Min time: 5.94ms ± 0.04ms
Mean time: 14.18ms ± 0.01ms
Median time: 14.11ms ± 0.02ms
95th percentile: 21.60ms ± 0.03ms
99th percentile: 22.77ms ± 0.09ms
Max time: 29.19ms ± 5.65ms | Ops: 70.81 ± 0.07 ops/s. Best: 70.91 ops/s
Total: 14121.08ms ± 14.57ms. Best: 14101.47ms
Min time: 5.91ms ± 0.03ms
Mean time: 14.12ms ± 0.01ms
Median time: 14.07ms ± 0.03ms
95th percentile: 21.48ms ± 0.07ms
99th percentile: 22.65ms ± 0.08ms
Max time: 29.01ms ± 5.73ms | | e2e_trip_ch | Ops: 62.79 ± 0.03 ops/s. Best: 62.83 ops/s
Total: 15924.93ms ± 7.45ms. Best: 15915.06ms
Min time: 2.36ms ± 0.16ms
Mean time: 15.93ms ± 0.01ms
Median time: 15.16ms ± 0.03ms
95th percentile: 28.11ms ± 0.02ms
99th percentile: 30.30ms ± 0.06ms
Max time: 32.53ms ± 1.42ms | Ops: 62.83 ± 0.03 ops/s. Best: 62.88 ops/s
Total: 15916.10ms ± 8.98ms. Best: 15903.73ms
Min time: 2.40ms ± 0.12ms
Mean time: 15.92ms ± 0.01ms
Median time: 15.14ms ± 0.03ms
95th percentile: 28.09ms ± 0.02ms
99th percentile: 30.25ms ± 0.11ms
Max time: 32.55ms ± 1.41ms | | e2e_trip_mld | Ops: 37.05 ± 0.02 ops/s. Best: 37.08 ops/s
Total: 26992.15ms ± 13.01ms. Best: 26971.23ms
Min time: 2.43ms ± 0.17ms
Mean time: 26.99ms ± 0.01ms
Median time: 26.17ms ± 0.08ms
95th percentile: 43.97ms ± 0.06ms
99th percentile: 46.64ms ± 0.06ms
Max time: 48.97ms ± 0.08ms | Ops: 37.13 ± 0.00 ops/s. Best: 37.13 ops/s
Total: 26934.60ms ± 3.08ms. Best: 26930.19ms
Min time: 2.33ms ± 0.15ms
Mean time: 26.93ms ± 0.00ms
Median time: 26.10ms ± 0.07ms
95th percentile: 43.87ms ± 0.04ms
99th percentile: 46.50ms ± 0.12ms
Max time: 48.83ms ± 0.18ms | | json-render | String: 9.02882ms
Stringstream: 14.6316ms
Vector: 9.4471ms | String: 8.86488ms
Stringstream: 14.731ms
Vector: 9.45713ms | | match_ch | Default radius:
7.0541ms/req at 82 coordinate
0.0860256ms/coordinate
Radius 10m:
24.9599ms/req at 82 coordinate
0.304389ms/coordinate | Default radius:
7.07333ms/req at 82 coordinate
0.0862601ms/coordinate
Radius 10m:
25.0596ms/req at 82 coordinate
0.305604ms/coordinate | | match_mld | Default radius:
4.34969ms/req at 82 coordinate
0.053045ms/coordinate
Radius 10m:
16.1763ms/req at 82 coordinate
0.197272ms/coordinate | Default radius:
4.39702ms/req at 82 coordinate
0.0536222ms/coordinate
Radius 10m:
16.2259ms/req at 82 coordinate
0.197877ms/coordinate | | node_match_ch | Ops: 155.4 ± 0.2 ops/s. Best: 155.8 ops/s | Ops: 156.4 ± 0.8 ops/s. Best: 157.4 ops/s | | node_match_mld | Ops: 220.6 ± 1.0 ops/s. Best: 221.5 ops/s | Ops: 220.3 ± 1.6 ops/s. Best: 222.4 ops/s | | node_nearest_ch | Ops: 10126.6 ± 721.4 ops/s. Best: 11141.4 ops/s | Ops: 10230.4 ± 755.3 ops/s. Best: 11166.3 ops/s | | node_nearest_mld | Ops: 10742.4 ± 763.9 ops/s. Best: 12057.5 ops/s | Ops: 10438.1 ± 989.0 ops/s. Best: 12201.1 ops/s | | node_route_ch | Ops: 999.6 ± 18.4 ops/s. Best: 1029.4 ops/s | Ops: 996.2 ± 22.2 ops/s. Best: 1033.5 ops/s | | node_route_mld | Ops: 511.7 ± 2.4 ops/s. Best: 516.5 ops/s | Ops: 513.9 ± 4.6 ops/s. Best: 519.2 ops/s | | node_table_ch | Ops: 182.5 ± 1.8 ops/s. Best: 185.4 ops/s | Ops: 181.8 ± 1.5 ops/s. Best: 184.4 ops/s | | node_table_mld | Ops: 38.4 ± 0.1 ops/s. Best: 38.6 ops/s | Ops: 38.6 ± 0.0 ops/s. Best: 38.6 ops/s | | node_trip_ch | Ops: 183.7 ± 1.1 ops/s. Best: 184.9 ops/s | Ops: 184.1 ± 1.3 ops/s. Best: 186.0 ops/s | | node_trip_mld | Ops: 62.4 ± 0.2 ops/s. Best: 62.7 ops/s | Ops: 61.6 ± 0.2 ops/s. Best: 61.9 ops/s | | osrm_contract | Time: 182.82s Peak RAM: 184.39MB | Time: 182.72s Peak RAM: 184.39MB | | osrm_customize | Time: 2.53s Peak RAM: 111.65MB | Time: 2.52s Peak RAM: 111.65MB | | osrm_extract | Time: 24.06s Peak RAM: 392.26MB | Time: 24.21s Peak RAM: 398.78MB | | osrm_partition | Time: 5.82s Peak RAM: 119.40MB | Time: 5.83s Peak RAM: 119.45MB | | packedvector | random write:
std::vector 184543 ms
util::packed_vector 375034 ms
slowdown: 2.03223
random read:
std::vector 100720 ms
util::packed_vector 191377 ms
slowdown: 1.9001 | random write:
std::vector 177043 ms
util::packed_vector 392198 ms
slowdown: 2.21527
random read:
std::vector 98885.4 ms
util::packed_vector 197416 ms
slowdown: 1.99641 | | random_match_ch | 500 matches, default radius
ops: 120.25 ± 0.17 ops/s. best: 120.56ops/s.
total: 474.00 ± 0.65ms. best: 472.78ms.
avg: 8.32 ± 0.01ms
min: 0.25 ± 0.00ms
max: 40.69 ± 0.04ms
p99: 40.69 ± 0.04ms

500 matches, radius=10
ops: 34.58 ± 0.03 ops/s. best: 34.62ops/s.
total: 1850.79 ± 1.52ms. best: 1848.78ms.
avg: 28.92 ± 0.02ms
min: 0.24 ± 0.00ms
max: 409.07 ± 0.81ms
p99: 409.07 ± 0.81ms

500 matches, radius=20
ops: 8.17 ± 0.01 ops/s. best: 8.19ops/s.
total: 7953.87 ± 10.58ms. best: 7941.28ms.
avg: 122.37 ± 0.16ms
min: 0.49 ± 0.00ms
max: 2170.78 ± 7.19ms
p99: 2170.78 ± 7.19ms

Peak RAM: 56.000MB | 500 matches, default radius
ops: 119.33 ± 0.16 ops/s. best: 119.62ops/s.
total: 477.68 ± 0.66ms. best: 476.52ms.
avg: 8.38 ± 0.01ms
min: 0.25 ± 0.00ms
max: 41.17 ± 0.04ms
p99: 41.17 ± 0.04ms

500 matches, radius=10
ops: 34.19 ± 0.03 ops/s. best: 34.23ops/s.
total: 1871.99 ± 1.38ms. best: 1869.57ms.
avg: 29.25 ± 0.02ms
min: 0.24 ± 0.00ms
max: 416.08 ± 0.77ms
p99: 416.08 ± 0.77ms

500 matches, radius=20
ops: 8.05 ± 0.01 ops/s. best: 8.06ops/s.
total: 8073.55 ± 9.83ms. best: 8062.94ms.
avg: 124.21 ± 0.15ms
min: 0.50 ± 0.00ms
max: 2224.18 ± 6.89ms
p99: 2224.18 ± 6.89ms

Peak RAM: 56.000MB | | random_match_mld | 500 matches, default radius
ops: 204.65 ± 0.38 ops/s. best: 205.08ops/s.
total: 278.53 ± 0.52ms. best: 277.94ms.
avg: 4.89 ± 0.01ms
min: 0.21 ± 0.00ms
max: 27.19 ± 0.04ms
p99: 27.19 ± 0.04ms

500 matches, radius=10
ops: 72.96 ± 0.07 ops/s. best: 73.09ops/s.
total: 877.25 ± 0.83ms. best: 875.67ms.
avg: 13.71 ± 0.01ms
min: 0.22 ± 0.00ms
max: 162.64 ± 0.29ms
p99: 162.64 ± 0.29ms

500 matches, radius=20
ops: 15.32 ± 0.01 ops/s. best: 15.34ops/s.
total: 4242.87 ± 3.33ms. best: 4238.37ms.
avg: 65.27 ± 0.05ms
min: 0.29 ± 0.00ms
max: 848.49 ± 1.39ms
p99: 848.49 ± 1.39ms

Peak RAM: 51.500MB | 500 matches, default radius
ops: 205.16 ± 0.40 ops/s. best: 205.61ops/s.
total: 277.83 ± 0.54ms. best: 277.23ms.
avg: 4.87 ± 0.01ms
min: 0.21 ± 0.00ms
max: 27.11 ± 0.04ms
p99: 27.11 ± 0.04ms

500 matches, radius=10
ops: 73.14 ± 0.07 ops/s. best: 73.25ops/s.
total: 875.01 ± 0.79ms. best: 873.70ms.
avg: 13.67 ± 0.01ms
min: 0.22 ± 0.00ms
max: 162.36 ± 0.22ms
p99: 162.36 ± 0.22ms

500 matches, radius=20
ops: 15.38 ± 0.01 ops/s. best: 15.40ops/s.
total: 4225.50 ± 3.51ms. best: 4220.52ms.
avg: 65.01 ± 0.05ms
min: 0.29 ± 0.00ms
max: 845.95 ± 1.44ms
p99: 845.95 ± 1.44ms

Peak RAM: 51.500MB | | random_nearest_ch | 10000 nearest, number_of_results=1
ops: 21650.00 ± 38.12 ops/s. best: 21686.56ops/s.
total: 461.90 ± 0.82ms. best: 461.12ms.
avg: 0.05 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.03ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 16019.19 ± 11.67 ops/s. best: 16031.34ops/s.
total: 624.25 ± 0.47ms. best: 623.78ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.17 ± 0.01ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12291.19 ± 4.75 ops/s. best: 12296.43ops/s.
total: 813.59 ± 0.31ms. best: 813.24ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms

Peak RAM: 35.000MB | 10000 nearest, number_of_results=1
ops: 21761.23 ± 43.52 ops/s. best: 21798.16ops/s.
total: 459.54 ± 0.92ms. best: 458.75ms.
avg: 0.05 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.03ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15968.22 ± 15.80 ops/s. best: 15981.23ops/s.
total: 626.24 ± 0.63ms. best: 625.73ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12191.91 ± 4.72 ops/s. best: 12195.40ops/s.
total: 820.22 ± 0.32ms. best: 819.98ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms

Peak RAM: 35.000MB | | random_nearest_mld | 10000 nearest, number_of_results=1
ops: 21653.47 ± 34.63 ops/s. best: 21681.86ops/s.
total: 461.82 ± 0.74ms. best: 461.21ms.
avg: 0.05 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 16019.24 ± 7.75 ops/s. best: 16028.62ops/s.
total: 624.25 ± 0.30ms. best: 623.88ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12283.65 ± 3.11 ops/s. best: 12286.73ops/s.
total: 814.09 ± 0.21ms. best: 813.89ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.19 ± 0.01ms
p99: 0.14 ± 0.00ms

Peak RAM: 35.000MB | 10000 nearest, number_of_results=1
ops: 21766.27 ± 35.05 ops/s. best: 21792.04ops/s.
total: 459.43 ± 0.74ms. best: 458.88ms.
avg: 0.05 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15976.03 ± 8.31 ops/s. best: 15985.38ops/s.
total: 625.94 ± 0.33ms. best: 625.57ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12192.35 ± 3.14 ops/s. best: 12197.10ops/s.
total: 820.19 ± 0.21ms. best: 819.87ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms

Peak RAM: 35.000MB | | random_route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 286.87 ± 0.21 ops/s. best: 287.14ops/s.
total: 3430.11 ± 2.49ms. best: 3426.87ms.
avg: 3.49 ± 0.00ms
min: 0.43 ± 0.01ms
max: 5.98 ± 0.05ms
p99: 5.17 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 336.80 ± 0.06 ops/s. best: 336.88ops/s.
total: 2969.12 ± 0.53ms. best: 2968.38ms.
avg: 2.97 ± 0.00ms
min: 0.08 ± 0.00ms
max: 7.12 ± 0.01ms
p99: 6.73 ± 0.00ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 587.93 ± 0.25 ops/s. best: 588.30ops/s.
total: 1673.67 ± 0.72ms. best: 1672.62ms.
avg: 1.70 ± 0.00ms
min: 0.35 ± 0.00ms
max: 2.55 ± 0.01ms
p99: 2.40 ± 0.00ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 652.74 ± 0.58 ops/s. best: 653.68ops/s.
total: 1532.00 ± 1.35ms. best: 1529.79ms.
avg: 1.53 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.54 ± 0.01ms
p99: 3.91 ± 0.02ms

Peak RAM: 84.000MB | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 285.33 ± 0.13 ops/s. best: 285.48ops/s.
total: 3448.63 ± 1.63ms. best: 3446.80ms.
avg: 3.50 ± 0.00ms
min: 0.44 ± 0.01ms
max: 5.97 ± 0.01ms
p99: 5.19 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 336.23 ± 0.07 ops/s. best: 336.33ops/s.
total: 2974.20 ± 0.60ms. best: 2973.30ms.
avg: 2.97 ± 0.00ms
min: 0.08 ± 0.00ms
max: 7.14 ± 0.01ms
p99: 6.72 ± 0.01ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 585.46 ± 0.14 ops/s. best: 585.64ops/s.
total: 1680.73 ± 0.39ms. best: 1680.22ms.
avg: 1.71 ± 0.00ms
min: 0.35 ± 0.01ms
max: 2.54 ± 0.01ms
p99: 2.40 ± 0.00ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 644.92 ± 0.07 ops/s. best: 645.05ops/s.
total: 1550.57 ± 0.18ms. best: 1550.26ms.
avg: 1.55 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.56 ± 0.01ms
p99: 3.93 ± 0.01ms

Peak RAM: 84.000MB | | random_route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 147.60 ± 0.01 ops/s. best: 147.62ops/s.
total: 6666.60 ± 0.51ms. best: 6665.74ms.
avg: 6.78 ± 0.00ms
min: 0.42 ± 0.00ms
max: 14.19 ± 0.03ms
p99: 10.99 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 141.47 ± 0.01 ops/s. best: 141.50ops/s.
total: 7068.41 ± 0.66ms. best: 7067.29ms.
avg: 7.07 ± 0.00ms
min: 0.07 ± 0.00ms
max: 16.60 ± 0.30ms
p99: 15.01 ± 0.04ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 205.35 ± 0.02 ops/s. best: 205.37ops/s.
total: 4791.82 ± 0.42ms. best: 4791.32ms.
avg: 4.87 ± 0.00ms
min: 0.36 ± 0.00ms
max: 11.54 ± 0.04ms
p99: 8.38 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 177.47 ± 0.03 ops/s. best: 177.51ops/s.
total: 5634.81 ± 0.83ms. best: 5633.55ms.
avg: 5.63 ± 0.00ms
min: 0.05 ± 0.00ms
max: 12.74 ± 0.04ms
p99: 11.49 ± 0.02ms

Peak RAM: 73.484MB | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 147.43 ± 0.18 ops/s. best: 147.64ops/s.
total: 6674.37 ± 8.30ms. best: 6665.05ms.
avg: 6.78 ± 0.01ms
min: 0.42 ± 0.00ms
max: 14.23 ± 0.08ms
p99: 10.97 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 141.70 ± 0.03 ops/s. best: 141.74ops/s.
total: 7057.10 ± 1.34ms. best: 7055.22ms.
avg: 7.06 ± 0.00ms
min: 0.07 ± 0.00ms
max: 16.43 ± 0.03ms
p99: 15.04 ± 0.09ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 200.83 ± 0.61 ops/s. best: 201.72ops/s.
total: 4899.77 ± 14.82ms. best: 4878.12ms.
avg: 4.98 ± 0.02ms
min: 0.36 ± 0.00ms
max: 11.82 ± 0.29ms
p99: 8.59 ± 0.12ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 176.16 ± 0.19 ops/s. best: 176.32ops/s.
total: 5676.76 ± 6.02ms. best: 5671.54ms.
avg: 5.68 ± 0.01ms
min: 0.05 ± 0.00ms
max: 12.94 ± 0.17ms
p99: 11.87 ± 0.09ms

Peak RAM: 73.484MB | | random_table_ch | 250 tables, 3 coordinates
ops: 1129.73 ± 4.30 ops/s. best: 1133.46ops/s.
total: 221.30 ± 0.85ms. best: 220.56ms.
avg: 0.89 ± 0.00ms
min: 0.69 ± 0.00ms
max: 1.21 ± 0.14ms
p99: 1.08 ± 0.01ms

250 tables, 25 coordinates
ops: 125.43 ± 0.02 ops/s. best: 125.46ops/s.
total: 1993.11 ± 0.38ms. best: 1992.59ms.
avg: 7.97 ± 0.00ms
min: 7.27 ± 0.01ms
max: 8.59 ± 0.01ms
p99: 8.53 ± 0.00ms

250 tables, 50 coordinates
ops: 61.16 ± 0.01 ops/s. best: 61.17ops/s.
total: 4087.50 ± 0.49ms. best: 4086.77ms.
avg: 16.35 ± 0.00ms
min: 15.37 ± 0.01ms
max: 17.46 ± 0.01ms
p99: 17.23 ± 0.02ms

Peak RAM: 63.500MB | 250 tables, 3 coordinates
ops: 1132.17 ± 3.98 ops/s. best: 1135.57ops/s.
total: 220.82 ± 0.78ms. best: 220.15ms.
avg: 0.88 ± 0.00ms
min: 0.69 ± 0.00ms
max: 1.22 ± 0.15ms
p99: 1.08 ± 0.01ms

250 tables, 25 coordinates
ops: 126.27 ± 0.04 ops/s. best: 126.32ops/s.
total: 1979.84 ± 0.66ms. best: 1979.16ms.
avg: 7.92 ± 0.00ms
min: 7.23 ± 0.01ms
max: 8.53 ± 0.01ms
p99: 8.48 ± 0.01ms

250 tables, 50 coordinates
ops: 61.35 ± 0.01 ops/s. best: 61.36ops/s.
total: 4074.90 ± 0.60ms. best: 4074.22ms.
avg: 16.30 ± 0.00ms
min: 15.28 ± 0.01ms
max: 17.45 ± 0.01ms
p99: 17.18 ± 0.02ms

Peak RAM: 63.500MB | | random_table_mld | 250 tables, 3 coordinates
ops: 229.14 ± 0.27 ops/s. best: 229.34ops/s.
total: 1091.04 ± 1.27ms. best: 1090.10ms.
avg: 4.36 ± 0.01ms
min: 3.44 ± 0.01ms
max: 5.64 ± 0.01ms
p99: 5.42 ± 0.02ms

250 tables, 25 coordinates
ops: 24.19 ± 0.01 ops/s. best: 24.21ops/s.
total: 10335.52 ± 6.13ms. best: 10324.65ms.
avg: 41.34 ± 0.02ms
min: 38.16 ± 0.12ms
max: 45.23 ± 0.03ms
p99: 44.66 ± 0.13ms

250 tables, 50 coordinates
ops: 11.23 ± 0.01 ops/s. best: 11.24ops/s.
total: 22266.93 ± 21.46ms. best: 22234.43ms.
avg: 89.07 ± 0.09ms
min: 84.89 ± 0.32ms
max: 94.40 ± 0.14ms
p99: 93.28 ± 0.38ms

Peak RAM: 62.734MB | 250 tables, 3 coordinates
ops: 228.45 ± 0.31 ops/s. best: 228.76ops/s.
total: 1094.36 ± 1.51ms. best: 1092.87ms.
avg: 4.38 ± 0.01ms
min: 3.46 ± 0.00ms
max: 5.69 ± 0.04ms
p99: 5.42 ± 0.01ms

250 tables, 25 coordinates
ops: 24.11 ± 0.02 ops/s. best: 24.15ops/s.
total: 10370.71 ± 7.85ms. best: 10353.11ms.
avg: 41.48 ± 0.03ms
min: 38.42 ± 0.07ms
max: 45.12 ± 0.15ms
p99: 44.76 ± 0.12ms

250 tables, 50 coordinates
ops: 11.04 ± 0.01 ops/s. best: 11.04ops/s.
total: 22651.61 ± 10.77ms. best: 22635.86ms.
avg: 90.61 ± 0.04ms
min: 86.52 ± 0.33ms
max: 96.27 ± 0.15ms
p99: 94.57 ± 0.10ms

Peak RAM: 62.734MB | | random_trip_ch | 250 trips, 3 coordinates
ops: 325.48 ± 0.40 ops/s. best: 325.91ops/s.
total: 768.09 ± 0.95ms. best: 767.09ms.
avg: 3.07 ± 0.00ms
min: 1.60 ± 0.01ms
max: 4.45 ± 0.01ms
p99: 4.23 ± 0.01ms

250 trips, 5 coordinates
ops: 210.75 ± 0.05 ops/s. best: 210.81ops/s.
total: 1186.23 ± 0.31ms. best: 1185.91ms.
avg: 4.74 ± 0.00ms
min: 2.93 ± 0.00ms
max: 5.99 ± 0.01ms
p99: 5.90 ± 0.03ms

Peak RAM: 73.500MB | 250 trips, 3 coordinates
ops: 324.89 ± 0.56 ops/s. best: 325.69ops/s.
total: 769.50 ± 1.32ms. best: 767.61ms.
avg: 3.08 ± 0.01ms
min: 1.60 ± 0.00ms
max: 4.43 ± 0.02ms
p99: 4.23 ± 0.01ms

250 trips, 5 coordinates
ops: 211.20 ± 0.05 ops/s. best: 211.25ops/s.
total: 1183.69 ± 0.28ms. best: 1183.41ms.
avg: 4.73 ± 0.00ms
min: 2.92 ± 0.01ms
max: 5.97 ± 0.01ms
p99: 5.88 ± 0.01ms

Peak RAM: 73.500MB | | random_trip_mld | 250 trips, 3 coordinates
ops: 106.61 ± 0.20 ops/s. best: 106.92ops/s.
total: 2344.94 ± 4.30ms. best: 2338.30ms.
avg: 9.38 ± 0.02ms
min: 5.43 ± 0.01ms
max: 12.30 ± 0.01ms
p99: 12.14 ± 0.05ms

250 trips, 5 coordinates
ops: 69.15 ± 0.21 ops/s. best: 69.58ops/s.
total: 3615.45 ± 10.92ms. best: 3593.11ms.
avg: 14.46 ± 0.04ms
min: 9.99 ± 0.04ms
max: 17.76 ± 0.02ms
p99: 17.28 ± 0.09ms

Peak RAM: 69.000MB | 250 trips, 3 coordinates
ops: 106.43 ± 0.06 ops/s. best: 106.49ops/s.
total: 2349.02 ± 1.43ms. best: 2347.59ms.
avg: 9.40 ± 0.01ms
min: 5.46 ± 0.03ms
max: 12.27 ± 0.02ms
p99: 12.17 ± 0.02ms

250 trips, 5 coordinates
ops: 68.55 ± 0.01 ops/s. best: 68.57ops/s.
total: 3646.80 ± 0.66ms. best: 3645.69ms.
avg: 14.59 ± 0.00ms
min: 10.06 ± 0.01ms
max: 17.69 ± 0.04ms
p99: 17.42 ± 0.03ms

Peak RAM: 69.000MB | | route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
638.585ms
0.638585ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
783.566ms
0.783566ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
246.284ms
0.246284ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
217.065ms
0.217065ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
636.288ms
0.636288ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
777.27ms
0.77727ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
247.032ms
0.247032ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
216.497ms
0.216497ms/req | | route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
808.614ms
0.808614ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
1040.14ms
1.04014ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
414.193ms
0.414193ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
461.146ms
0.461146ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
806.018ms
0.806018ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
1037.05ms
1.03705ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
412.686ms
0.412686ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
460.971ms
0.460971ms/req | | rtree | 1 result:
227.536ms -> 0.0227536 ms/query
10 results:
258.26ms -> 0.025826 ms/query | 1 result:
227.24ms -> 0.022724 ms/query
10 results:
258.048ms -> 0.0258048 ms/query |