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

Add .reserve(...) to assembleGeometry function #6983

Closed SiarheiFedartsou closed 4 months ago

SiarheiFedartsou commented 4 months ago

I profiled allocations a bit and noticed that this function generates quite a lot of them - should be yet another micro performance improvement.

Benchmark Results

| Benchmark | Base | PR | |-----------|------|----| | alias | aliased u32: 1146.99
plain u32: 1138.17
aliased double: 1179.8
plain double: 1183.8 | aliased u32: 1100
plain u32: 1101.56
aliased double: 959.493
plain double: 955.396 | | e2e_match_ch | Ops: 43.42 ± 0.18 ops/s. Best: 43.67 ops/s
Total: 3017.06ms ± 12.75ms. Best: 3000.00ms
Min time: 2.09ms ± 0.05ms
Mean time: 23.03ms ± 0.10ms
Median time: 16.74ms ± 0.19ms
95th percentile: 75.72ms ± 0.49ms
99th percentile: 92.47ms ± 0.53ms
Max time: 100.75ms ± 0.73ms | Ops: 43.38 ± 0.16 ops/s. Best: 43.60 ops/s
Total: 3020.30ms ± 11.15ms. Best: 3004.34ms
Min time: 2.10ms ± 0.03ms
Mean time: 23.05ms ± 0.09ms
Median time: 16.48ms ± 0.16ms
95th percentile: 74.90ms ± 0.71ms
99th percentile: 92.36ms ± 0.42ms
Max time: 102.76ms ± 0.47ms | | e2e_match_mld | Ops: 65.47 ± 0.12 ops/s. Best: 65.67 ops/s
Total: 2001.03ms ± 3.69ms. Best: 1994.89ms
Min time: 1.76ms ± 0.01ms
Mean time: 15.28ms ± 0.03ms
Median time: 8.12ms ± 0.09ms
95th percentile: 50.79ms ± 0.18ms
99th percentile: 59.74ms ± 0.24ms
Max time: 69.42ms ± 0.61ms | Ops: 65.03 ± 0.36 ops/s. Best: 65.47 ops/s
Total: 2014.85ms ± 11.34ms. Best: 2001.01ms
Min time: 1.74ms ± 0.02ms
Mean time: 15.38ms ± 0.09ms
Median time: 8.21ms ± 0.12ms
95th percentile: 51.22ms ± 0.21ms
99th percentile: 60.19ms ± 0.31ms
Max time: 69.05ms ± 0.48ms | | e2e_nearest_ch | Ops: 871.96 ± 4.88 ops/s. Best: 879.63 ops/s
Total: 1147.00ms ± 6.78ms. Best: 1136.85ms
Min time: 0.97ms ± 0.01ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.59ms ± 0.01ms
99th percentile: 1.64ms ± 0.01ms
Max time: 5.90ms ± 2.81ms | Ops: 868.52 ± 5.34 ops/s. Best: 873.83 ops/s
Total: 1151.61ms ± 7.14ms. Best: 1144.39ms
Min time: 0.98ms ± 0.00ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.60ms ± 0.01ms
99th percentile: 1.67ms ± 0.04ms
Max time: 5.91ms ± 2.70ms | | e2e_nearest_mld | Ops: 866.45 ± 4.10 ops/s. Best: 876.81 ops/s
Total: 1154.24ms ± 5.56ms. Best: 1140.49ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.61ms ± 0.01ms
99th percentile: 1.66ms ± 0.01ms
Max time: 6.56ms ± 3.11ms | Ops: 868.98 ± 4.67 ops/s. Best: 875.82 ops/s
Total: 1150.82ms ± 6.64ms. Best: 1141.79ms
Min time: 0.98ms ± 0.00ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.60ms ± 0.01ms
99th percentile: 1.66ms ± 0.02ms
Max time: 5.96ms ± 2.78ms | | e2e_route_ch | Ops: 358.64 ± 3.64 ops/s. Best: 364.36 ops/s
Total: 2789.16ms ± 28.29ms. Best: 2744.50ms
Min time: 1.20ms ± 0.00ms
Mean time: 2.79ms ± 0.03ms
Median time: 2.80ms ± 0.03ms
95th percentile: 3.71ms ± 0.03ms
99th percentile: 4.15ms ± 0.06ms
Max time: 7.04ms ± 1.98ms | Ops: 360.04 ± 7.76 ops/s. Best: 368.71 ops/s
Total: 2776.17ms ± 59.31ms. Best: 2712.18ms
Min time: 1.19ms ± 0.02ms
Mean time: 2.78ms ± 0.06ms
Median time: 2.80ms ± 0.06ms
95th percentile: 3.67ms ± 0.09ms
99th percentile: 4.10ms ± 0.11ms
Max time: 6.85ms ± 2.34ms | | e2e_route_mld | Ops: 296.67 ± 4.80 ops/s. Best: 301.22 ops/s
Total: 3372.28ms ± 56.35ms. Best: 3319.88ms
Min time: 1.18ms ± 0.01ms
Mean time: 3.37ms ± 0.06ms
Median time: 3.40ms ± 0.06ms
95th percentile: 4.67ms ± 0.11ms
99th percentile: 5.18ms ± 0.16ms
Max time: 7.67ms ± 1.87ms | Ops: 298.03 ± 4.94 ops/s. Best: 305.16 ops/s
Total: 3356.34ms ± 56.40ms. Best: 3276.94ms
Min time: 1.18ms ± 0.02ms
Mean time: 3.36ms ± 0.06ms
Median time: 3.39ms ± 0.06ms
95th percentile: 4.62ms ± 0.11ms
99th percentile: 5.12ms ± 0.07ms
Max time: 7.79ms ± 1.97ms | | e2e_table_ch | Ops: 322.46 ± 0.86 ops/s. Best: 323.99 ops/s
Total: 3100.92ms ± 9.02ms. Best: 3086.53ms
Min time: 1.62ms ± 0.03ms
Mean time: 3.10ms ± 0.01ms
Median time: 3.10ms ± 0.02ms
95th percentile: 4.30ms ± 0.02ms
99th percentile: 4.64ms ± 0.05ms
Max time: 8.57ms ± 2.11ms | Ops: 321.22 ± 1.87 ops/s. Best: 324.47 ops/s
Total: 3114.05ms ± 19.44ms. Best: 3081.91ms
Min time: 1.57ms ± 0.04ms
Mean time: 3.11ms ± 0.02ms
Median time: 3.11ms ± 0.03ms
95th percentile: 4.34ms ± 0.03ms
99th percentile: 4.65ms ± 0.07ms
Max time: 8.27ms ± 2.36ms | | e2e_table_mld | Ops: 114.59 ± 0.67 ops/s. Best: 115.69 ops/s
Total: 8725.97ms ± 53.53ms. Best: 8643.70ms
Min time: 3.49ms ± 0.06ms
Mean time: 8.73ms ± 0.05ms
Median time: 8.67ms ± 0.06ms
95th percentile: 13.40ms ± 0.08ms
99th percentile: 14.32ms ± 0.15ms
Max time: 17.24ms ± 2.22ms | Ops: 113.58 ± 0.87 ops/s. Best: 114.96 ops/s
Total: 8804.76ms ± 67.98ms. Best: 8698.40ms
Min time: 3.48ms ± 0.04ms
Mean time: 8.80ms ± 0.07ms
Median time: 8.79ms ± 0.09ms
95th percentile: 13.52ms ± 0.13ms
99th percentile: 14.45ms ± 0.15ms
Max time: 17.12ms ± 2.26ms | | e2e_trip_ch | Ops: 98.75 ± 0.51 ops/s. Best: 99.49 ops/s
Total: 10127.61ms ± 55.75ms. Best: 10051.48ms
Min time: 1.48ms ± 0.11ms
Mean time: 10.13ms ± 0.06ms
Median time: 9.58ms ± 0.07ms
95th percentile: 18.40ms ± 0.13ms
99th percentile: 20.21ms ± 0.13ms
Max time: 22.60ms ± 0.87ms | Ops: 100.24 ± 0.32 ops/s. Best: 100.78 ops/s
Total: 9975.23ms ± 31.33ms. Best: 9922.27ms
Min time: 1.43ms ± 0.08ms
Mean time: 9.98ms ± 0.03ms
Median time: 9.43ms ± 0.05ms
95th percentile: 18.03ms ± 0.05ms
99th percentile: 19.76ms ± 0.16ms
Max time: 22.04ms ± 0.44ms | | e2e_trip_mld | Ops: 58.94 ± 0.20 ops/s. Best: 59.27 ops/s
Total: 16962.97ms ± 56.71ms. Best: 16870.60ms
Min time: 1.72ms ± 0.25ms
Mean time: 16.96ms ± 0.06ms
Median time: 16.47ms ± 0.09ms
95th percentile: 27.98ms ± 0.07ms
99th percentile: 30.47ms ± 0.10ms
Max time: 32.30ms ± 0.12ms | Ops: 58.76 ± 0.72 ops/s. Best: 59.69 ops/s
Total: 17010.33ms ± 205.71ms. Best: 16754.22ms
Min time: 1.76ms ± 0.26ms
Mean time: 17.02ms ± 0.21ms
Median time: 16.57ms ± 0.22ms
95th percentile: 27.91ms ± 0.31ms
99th percentile: 30.36ms ± 0.28ms
Max time: 32.59ms ± 0.70ms | | json-render | String: 5.49691ms
Stringstream: 8.89709ms
Vector: 6.54459ms | String: 5.61424ms
Stringstream: 9.10527ms
Vector: 6.76278ms | | match_ch | Default radius:
4.59424ms/req at 82 coordinate
0.0560273ms/coordinate
Radius 10m:
16.085ms/req at 82 coordinate
0.196159ms/coordinate | Default radius:
5.27064ms/req at 82 coordinate
0.0642762ms/coordinate
Radius 10m:
18.5022ms/req at 82 coordinate
0.225637ms/coordinate | | match_mld | Default radius:
3.0533ms/req at 82 coordinate
0.0372354ms/coordinate
Radius 10m:
11.1756ms/req at 82 coordinate
0.136288ms/coordinate | Default radius:
3.14863ms/req at 82 coordinate
0.0383979ms/coordinate
Radius 10m:
11.2576ms/req at 82 coordinate
0.137288ms/coordinate | | osrm_contract | Time: 96.59s Peak RAM: 202.79MB | Time: 96.81s Peak RAM: 201.05MB | | osrm_customize | Time: 1.33s Peak RAM: 117.00MB | Time: 1.30s Peak RAM: 116.83MB | | osrm_extract | Time: 11.72s Peak RAM: 425.29MB | Time: 11.89s Peak RAM: 428.83MB | | osrm_partition | Time: 2.09s Peak RAM: 144.91MB | Time: 2.15s Peak RAM: 145.26MB | | packedvector | random write:
std::vector 11604.1 ms
util::packed_vector 73985.6 ms
slowdown: 6.37583
random read:
std::vector 9950.2 ms
util::packed_vector 30487.8 ms
slowdown: 3.06404 | random write:
std::vector 11082.5 ms
util::packed_vector 74140.3 ms
slowdown: 6.68985
random read:
std::vector 8493.79 ms
util::packed_vector 30423 ms
slowdown: 3.58179 | | random_match_ch | 500 matches, default radius
ops: 205.48 ± 1.02 ops/s. best: 207.20ops/s.
total: 277.41 ± 1.38ms. best: 275.09ms.
avg: 4.87 ± 0.02ms
min: 0.15 ± 0.01ms
max: 25.44 ± 0.12ms
p99: 25.44 ± 0.12ms

500 matches, radius=10
ops: 60.46 ± 0.13 ops/s. best: 60.62ops/s.
total: 1058.61 ± 2.35ms. best: 1055.71ms.
avg: 16.54 ± 0.04ms
min: 0.15 ± 0.00ms
max: 244.31 ± 0.68ms
p99: 244.31 ± 0.68ms

500 matches, radius=20
ops: 14.56 ± 0.04 ops/s. best: 14.61ops/s.
total: 4465.30 ± 11.76ms. best: 4448.14ms.
avg: 68.70 ± 0.18ms
min: 0.32 ± 0.00ms
max: 1228.61 ± 3.88ms
p99: 1228.61 ± 3.88ms | 500 matches, default radius
ops: 209.70 ± 0.94 ops/s. best: 211.01ops/s.
total: 271.83 ± 1.22ms. best: 270.13ms.
avg: 4.77 ± 0.02ms
min: 0.15 ± 0.01ms
max: 25.68 ± 0.07ms
p99: 25.68 ± 0.07ms

500 matches, radius=10
ops: 61.83 ± 0.07 ops/s. best: 61.99ops/s.
total: 1035.03 ± 1.20ms. best: 1032.38ms.
avg: 16.17 ± 0.02ms
min: 0.15 ± 0.00ms
max: 242.61 ± 0.87ms
p99: 242.61 ± 0.87ms

500 matches, radius=20
ops: 14.91 ± 0.04 ops/s. best: 14.98ops/s.
total: 4359.24 ± 11.63ms. best: 4339.58ms.
avg: 67.07 ± 0.18ms
min: 0.32 ± 0.00ms
max: 1230.72 ± 5.52ms
p99: 1230.72 ± 5.52ms | | random_match_mld | 500 matches, default radius
ops: 306.58 ± 1.42 ops/s. best: 308.14ops/s.
total: 185.93 ± 0.87ms. best: 184.98ms.
avg: 3.26 ± 0.02ms
min: 0.13 ± 0.01ms
max: 18.93 ± 0.08ms
p99: 18.93 ± 0.08ms

500 matches, radius=10
ops: 108.21 ± 0.23 ops/s. best: 108.59ops/s.
total: 591.45 ± 1.25ms. best: 589.35ms.
avg: 9.24 ± 0.02ms
min: 0.14 ± 0.01ms
max: 110.69 ± 0.42ms
p99: 110.69 ± 0.42ms

500 matches, radius=20
ops: 22.05 ± 0.04 ops/s. best: 22.11ops/s.
total: 2948.15 ± 5.76ms. best: 2939.22ms.
avg: 45.36 ± 0.09ms
min: 0.20 ± 0.01ms
max: 578.79 ± 2.13ms
p99: 578.79 ± 2.13ms | 500 matches, default radius
ops: 305.25 ± 3.05 ops/s. best: 307.94ops/s.
total: 186.76 ± 1.88ms. best: 185.10ms.
avg: 3.28 ± 0.03ms
min: 0.13 ± 0.00ms
max: 19.04 ± 0.11ms
p99: 19.04 ± 0.11ms

500 matches, radius=10
ops: 107.46 ± 0.82 ops/s. best: 108.19ops/s.
total: 595.60 ± 4.59ms. best: 591.54ms.
avg: 9.31 ± 0.07ms
min: 0.14 ± 0.00ms
max: 110.80 ± 0.26ms
p99: 110.80 ± 0.26ms

500 matches, radius=20
ops: 22.01 ± 0.03 ops/s. best: 22.06ops/s.
total: 2952.57 ± 3.36ms. best: 2946.83ms.
avg: 45.42 ± 0.05ms
min: 0.20 ± 0.01ms
max: 580.07 ± 0.80ms
p99: 580.07 ± 0.80ms | | random_nearest_ch | 10000 nearest, number_of_results=1
ops: 25292.65 ± 88.10 ops/s. best: 25363.55ops/s.
total: 395.38 ± 1.38ms. best: 394.27ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.02ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 18786.87 ± 16.39 ops/s. best: 18804.72ops/s.
total: 532.29 ± 0.46ms. best: 531.78ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14796.10 ± 16.16 ops/s. best: 14823.97ops/s.
total: 675.85 ± 0.72ms. best: 674.58ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms | 10000 nearest, number_of_results=1
ops: 25218.08 ± 91.67 ops/s. best: 25352.00ops/s.
total: 396.55 ± 1.44ms. best: 394.45ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.03ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 18437.00 ± 108.45 ops/s. best: 18676.38ops/s.
total: 542.41 ± 3.17ms. best: 535.44ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.01ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14714.06 ± 101.56 ops/s. best: 14848.78ops/s.
total: 679.67 ± 4.71ms. best: 673.46ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms | | random_nearest_mld | 10000 nearest, number_of_results=1
ops: 25498.82 ± 110.14 ops/s. best: 25609.02ops/s.
total: 392.18 ± 1.72ms. best: 390.49ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 18893.80 ± 24.58 ops/s. best: 18924.82ops/s.
total: 529.28 ± 0.69ms. best: 528.41ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.18 ± 0.05ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14881.49 ± 9.71 ops/s. best: 14897.86ops/s.
total: 671.98 ± 0.44ms. best: 671.24ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.14 ± 0.00ms | 10000 nearest, number_of_results=1
ops: 25159.81 ± 232.91 ops/s. best: 25345.13ops/s.
total: 397.51 ± 3.74ms. best: 394.55ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.19 ± 0.05ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 18747.83 ± 44.20 ops/s. best: 18813.72ops/s.
total: 533.40 ± 1.28ms. best: 531.53ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14639.42 ± 109.63 ops/s. best: 14820.46ops/s.
total: 683.14 ± 5.10ms. best: 674.74ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.21 ± 0.03ms
p99: 0.14 ± 0.00ms | | random_route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 501.98 ± 6.97 ops/s. best: 509.34ops/s.
total: 1960.75 ± 27.68ms. best: 1931.92ms.
avg: 1.99 ± 0.03ms
min: 0.32 ± 0.01ms
max: 3.60 ± 0.40ms
p99: 2.85 ± 0.06ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 584.55 ± 8.97 ops/s. best: 595.73ops/s.
total: 1711.21 ± 26.20ms. best: 1678.61ms.
avg: 1.71 ± 0.03ms
min: 0.05 ± 0.00ms
max: 4.74 ± 0.58ms
p99: 3.58 ± 0.07ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 958.11 ± 9.60 ops/s. best: 967.31ops/s.
total: 1027.17 ± 10.44ms. best: 1017.25ms.
avg: 1.04 ± 0.01ms
min: 0.24 ± 0.00ms
max: 1.65 ± 0.04ms
p99: 1.47 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1101.16 ± 9.14 ops/s. best: 1115.23ops/s.
total: 908.23 ± 7.58ms. best: 896.67ms.
avg: 0.91 ± 0.01ms
min: 0.04 ± 0.00ms
max: 2.22 ± 0.03ms
p99: 1.89 ± 0.04ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 515.82 ± 5.08 ops/s. best: 521.61ops/s.
total: 1907.89 ± 19.42ms. best: 1886.47ms.
avg: 1.94 ± 0.02ms
min: 0.32 ± 0.00ms
max: 3.25 ± 0.32ms
p99: 2.79 ± 0.05ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 651.00 ± 2.06 ops/s. best: 653.57ops/s.
total: 1536.12 ± 4.87ms. best: 1530.07ms.
avg: 1.54 ± 0.00ms
min: 0.05 ± 0.00ms
max: 3.98 ± 0.25ms
p99: 3.36 ± 0.02ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 979.63 ± 3.63 ops/s. best: 987.03ops/s.
total: 1004.48 ± 3.67ms. best: 996.93ms.
avg: 1.02 ± 0.00ms
min: 0.23 ± 0.00ms
max: 1.61 ± 0.03ms
p99: 1.40 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1212.18 ± 11.09 ops/s. best: 1227.29ops/s.
total: 825.05 ± 7.53ms. best: 814.80ms.
avg: 0.83 ± 0.01ms
min: 0.04 ± 0.00ms
max: 2.25 ± 0.07ms
p99: 1.89 ± 0.02ms | | random_route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 241.80 ± 1.83 ops/s. best: 244.62ops/s.
total: 4069.73 ± 30.80ms. best: 4022.59ms.
avg: 4.14 ± 0.03ms
min: 0.32 ± 0.01ms
max: 9.12 ± 0.30ms
p99: 7.00 ± 0.07ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 227.68 ± 3.22 ops/s. best: 233.64ops/s.
total: 4393.25 ± 61.54ms. best: 4280.12ms.
avg: 4.39 ± 0.06ms
min: 0.05 ± 0.00ms
max: 10.87 ± 0.53ms
p99: 9.09 ± 0.29ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 317.11 ± 3.58 ops/s. best: 322.88ops/s.
total: 3103.53 ± 34.83ms. best: 3047.55ms.
avg: 3.15 ± 0.04ms
min: 0.29 ± 0.00ms
max: 7.42 ± 0.26ms
p99: 5.52 ± 0.14ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 280.61 ± 3.76 ops/s. best: 285.70ops/s.
total: 3564.48 ± 47.87ms. best: 3500.15ms.
avg: 3.56 ± 0.05ms
min: 0.04 ± 0.00ms
max: 8.39 ± 0.13ms
p99: 7.20 ± 0.13ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 227.69 ± 5.55 ops/s. best: 239.53ops/s.
total: 4324.74 ± 103.07ms. best: 4108.13ms.
avg: 4.40 ± 0.10ms
min: 0.33 ± 0.01ms
max: 9.68 ± 0.45ms
p99: 7.44 ± 0.18ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 226.37 ± 3.64 ops/s. best: 231.14ops/s.
total: 4419.02 ± 71.46ms. best: 4326.36ms.
avg: 4.42 ± 0.07ms
min: 0.05 ± 0.00ms
max: 10.54 ± 0.44ms
p99: 9.02 ± 0.21ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 307.57 ± 5.49 ops/s. best: 315.40ops/s.
total: 3200.66 ± 57.07ms. best: 3119.87ms.
avg: 3.25 ± 0.06ms
min: 0.29 ± 0.00ms
max: 8.06 ± 0.65ms
p99: 5.60 ± 0.14ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 276.65 ± 4.61 ops/s. best: 282.16ops/s.
total: 3615.98 ± 60.79ms. best: 3544.14ms.
avg: 3.62 ± 0.06ms
min: 0.04 ± 0.00ms
max: 8.49 ± 0.86ms
p99: 7.17 ± 0.15ms | | random_table_ch | 250 tables, 3 coordinates
ops: 1453.98 ± 11.25 ops/s. best: 1463.38ops/s.
total: 171.96 ± 1.34ms. best: 170.84ms.
avg: 0.69 ± 0.01ms
min: 0.50 ± 0.00ms
max: 1.00 ± 0.23ms
p99: 0.86 ± 0.05ms

250 tables, 25 coordinates
ops: 171.77 ± 0.15 ops/s. best: 172.09ops/s.
total: 1455.48 ± 1.27ms. best: 1452.75ms.
avg: 5.82 ± 0.01ms
min: 5.19 ± 0.03ms
max: 6.53 ± 0.18ms
p99: 6.35 ± 0.03ms

250 tables, 50 coordinates
ops: 84.46 ± 0.34 ops/s. best: 84.74ops/s.
total: 2959.88 ± 12.00ms. best: 2950.16ms.
avg: 11.84 ± 0.05ms
min: 10.94 ± 0.03ms
max: 13.41 ± 1.05ms
p99: 12.84 ± 0.39ms | 250 tables, 3 coordinates
ops: 1441.73 ± 15.13 ops/s. best: 1456.59ops/s.
total: 173.43 ± 1.83ms. best: 171.63ms.
avg: 0.69 ± 0.01ms
min: 0.43 ± 0.00ms
max: 1.14 ± 0.29ms
p99: 0.89 ± 0.03ms

250 tables, 25 coordinates
ops: 170.45 ± 0.33 ops/s. best: 170.92ops/s.
total: 1466.74 ± 2.85ms. best: 1462.65ms.
avg: 5.87 ± 0.01ms
min: 5.27 ± 0.01ms
max: 6.61 ± 0.29ms
p99: 6.39 ± 0.06ms

250 tables, 50 coordinates
ops: 84.42 ± 0.07 ops/s. best: 84.52ops/s.
total: 2961.36 ± 2.26ms. best: 2957.93ms.
avg: 11.85 ± 0.01ms
min: 11.07 ± 0.01ms
max: 12.76 ± 0.04ms
p99: 12.68 ± 0.04ms | | random_table_mld | 250 tables, 3 coordinates
ops: 352.38 ± 0.85 ops/s. best: 353.56ops/s.
total: 709.47 ± 1.71ms. best: 707.09ms.
avg: 2.84 ± 0.01ms
min: 2.22 ± 0.01ms
max: 3.93 ± 0.06ms
p99: 3.71 ± 0.05ms

250 tables, 25 coordinates
ops: 39.38 ± 0.05 ops/s. best: 39.48ops/s.
total: 6349.14 ± 8.29ms. best: 6331.75ms.
avg: 25.40 ± 0.03ms
min: 22.93 ± 0.06ms
max: 29.31 ± 0.50ms
p99: 28.23 ± 0.32ms

250 tables, 50 coordinates
ops: 18.38 ± 0.14 ops/s. best: 18.53ops/s.
total: 13606.38 ± 104.20ms. best: 13489.20ms.
avg: 54.43 ± 0.42ms
min: 50.20 ± 0.29ms
max: 62.68 ± 3.89ms
p99: 59.36 ± 1.18ms | 250 tables, 3 coordinates
ops: 342.75 ± 4.00 ops/s. best: 350.80ops/s.
total: 729.54 ± 8.46ms. best: 712.66ms.
avg: 2.92 ± 0.03ms
min: 2.24 ± 0.02ms
max: 4.07 ± 0.08ms
p99: 3.91 ± 0.13ms

250 tables, 25 coordinates
ops: 38.75 ± 0.35 ops/s. best: 39.35ops/s.
total: 6451.45 ± 58.74ms. best: 6353.88ms.
avg: 25.81 ± 0.23ms
min: 23.06 ± 0.10ms
max: 29.75 ± 0.37ms
p99: 28.99 ± 0.42ms

250 tables, 50 coordinates
ops: 18.47 ± 0.24 ops/s. best: 18.74ops/s.
total: 13535.17 ± 174.88ms. best: 13337.32ms.
avg: 54.14 ± 0.70ms
min: 49.96 ± 0.55ms
max: 60.42 ± 3.19ms
p99: 58.14 ± 1.25ms | | random_trip_ch | 250 trips, 3 coordinates
ops: 458.93 ± 18.61 ops/s. best: 486.61ops/s.
total: 545.96 ± 22.34ms. best: 513.76ms.
avg: 2.18 ± 0.09ms
min: 1.25 ± 0.04ms
max: 3.29 ± 0.43ms
p99: 2.86 ± 0.21ms

250 trips, 5 coordinates
ops: 317.20 ± 3.32 ops/s. best: 322.67ops/s.
total: 788.27 ± 8.28ms. best: 774.78ms.
avg: 3.15 ± 0.03ms
min: 2.02 ± 0.03ms
max: 4.13 ± 0.26ms
p99: 3.83 ± 0.12ms | 250 trips, 3 coordinates
ops: 480.37 ± 7.56 ops/s. best: 491.30ops/s.
total: 520.59 ± 8.20ms. best: 508.86ms.
avg: 2.08 ± 0.03ms
min: 1.22 ± 0.03ms
max: 3.05 ± 0.32ms
p99: 2.76 ± 0.09ms

250 trips, 5 coordinates
ops: 318.41 ± 4.37 ops/s. best: 322.79ops/s.
total: 785.34 ± 10.93ms. best: 774.50ms.
avg: 3.14 ± 0.04ms
min: 2.00 ± 0.04ms
max: 4.05 ± 0.08ms
p99: 3.85 ± 0.12ms | | random_trip_mld | 250 trips, 3 coordinates
ops: 166.16 ± 1.40 ops/s. best: 168.74ops/s.
total: 1504.65 ± 11.72ms. best: 1481.57ms.
avg: 6.02 ± 0.05ms
min: 3.92 ± 0.05ms
max: 8.50 ± 0.27ms
p99: 7.97 ± 0.16ms

250 trips, 5 coordinates
ops: 109.71 ± 1.98 ops/s. best: 112.25ops/s.
total: 2279.74 ± 41.42ms. best: 2227.09ms.
avg: 9.12 ± 0.17ms
min: 6.29 ± 0.06ms
max: 11.45 ± 0.24ms
p99: 11.14 ± 0.21ms | 250 trips, 3 coordinates
ops: 167.98 ± 2.15 ops/s. best: 171.45ops/s.
total: 1488.55 ± 19.04ms. best: 1458.12ms.
avg: 5.95 ± 0.08ms
min: 3.80 ± 0.02ms
max: 8.31 ± 0.55ms
p99: 7.80 ± 0.18ms

250 trips, 5 coordinates
ops: 107.70 ± 1.47 ops/s. best: 109.07ops/s.
total: 2321.79 ± 32.21ms. best: 2292.17ms.
avg: 9.29 ± 0.13ms
min: 6.24 ± 0.04ms
max: 11.71 ± 0.37ms
p99: 11.35 ± 0.19ms | | route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
430.163ms
0.430163ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
515.613ms
0.515613ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
154.932ms
0.154932ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
136.581ms
0.136581ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
430.261ms
0.430261ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
517.457ms
0.517457ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
167.515ms
0.167515ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
145.161ms
0.145161ms/req | | route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
576.839ms
0.576839ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
727.816ms
0.727816ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
285.456ms
0.285456ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
320.028ms
0.320028ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
571.496ms
0.571496ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
716.827ms
0.716827ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
297.144ms
0.297144ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
325.068ms
0.325068ms/req | | rtree | 1 result:
197.236ms -> 0.0197236 ms/query
10 results:
228.139ms -> 0.0228139 ms/query | 1 result:
194.825ms -> 0.0194825 ms/query
10 results:
225.42ms -> 0.022542 ms/query |