Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Jul 9, 2024
Merged

Conversation

SiarheiFedartsou
Copy link
Member

@SiarheiFedartsou SiarheiFedartsou commented Jul 6, 2024

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

@SiarheiFedartsou SiarheiFedartsou marked this pull request as ready for review July 6, 2024 09:35
@SiarheiFedartsou SiarheiFedartsou merged commit f5598ef into master Jul 9, 2024
21 checks passed
@SiarheiFedartsou SiarheiFedartsou deleted the sf-reserve branch July 9, 2024 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants