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

Micro performance optimisation in map matching #6976

Merged
merged 4 commits into from
Jun 29, 2024

Conversation

SiarheiFedartsou
Copy link
Member

@SiarheiFedartsou SiarheiFedartsou commented Jun 28, 2024

Benchmark Results

Benchmark Base PR
alias aliased u32: 1128.59
plain u32: 1143.64
aliased double: 1171.61
plain double: 1169.24
aliased u32: 1134.31
plain u32: 1126.16
aliased double: 1166.12
plain double: 1165.48
e2e_match_ch Ops: 44.43 ± 0.11 ops/s. Best: 44.20 ops/s
Total: 2948.55ms ± 8.12ms. Best: 2934.71ms
Min time: 2.12ms ± 0.02ms
Mean time: 22.51ms ± 0.07ms
Median time: 15.88ms ± 0.10ms
95th percentile: 79.25ms ± 0.26ms
99th percentile: 95.90ms ± 0.45ms
Max time: 103.40ms ± 0.55ms
Ops: 44.59 ± 0.04 ops/s. Best: 44.54 ops/s
Total: 2937.51ms ± 2.84ms. Best: 2931.84ms
Min time: 2.15ms ± 0.02ms
Mean time: 22.42ms ± 0.02ms
Median time: 15.85ms ± 0.14ms
95th percentile: 79.37ms ± 0.34ms
99th percentile: 95.25ms ± 0.34ms
Max time: 103.45ms ± 0.49ms
e2e_match_mld Ops: 63.00 ± 0.07 ops/s. Best: 62.89 ops/s
Total: 2079.21ms ± 2.40ms. Best: 2075.14ms
Min time: 1.79ms ± 0.03ms
Mean time: 15.87ms ± 0.02ms
Median time: 8.48ms ± 0.07ms
95th percentile: 53.00ms ± 0.25ms
99th percentile: 61.52ms ± 0.32ms
Max time: 71.07ms ± 0.30ms
Ops: 62.63 ± 0.08 ops/s. Best: 62.51 ops/s
Total: 2091.65ms ± 2.75ms. Best: 2087.50ms
Min time: 1.81ms ± 0.03ms
Mean time: 15.97ms ± 0.02ms
Median time: 8.47ms ± 0.05ms
95th percentile: 53.48ms ± 0.15ms
99th percentile: 61.64ms ± 0.27ms
Max time: 71.75ms ± 0.40ms
e2e_nearest_ch Ops: 805.05 ± 4.53 ops/s. Best: 794.81 ops/s
Total: 1242.18ms ± 6.80ms. Best: 1235.19ms
Min time: 1.06ms ± 0.01ms
Mean time: 1.24ms ± 0.01ms
Median time: 1.15ms ± 0.01ms
95th percentile: 1.64ms ± 0.01ms
99th percentile: 1.69ms ± 0.01ms
Max time: 4.20ms ± 2.47ms
Ops: 808.34 ± 4.81 ops/s. Best: 796.81 ops/s
Total: 1237.05ms ± 7.80ms. Best: 1229.08ms
Min time: 1.06ms ± 0.00ms
Mean time: 1.24ms ± 0.01ms
Median time: 1.15ms ± 0.01ms
95th percentile: 1.63ms ± 0.01ms
99th percentile: 1.68ms ± 0.01ms
Max time: 4.07ms ± 2.35ms
e2e_nearest_mld Ops: 806.69 ± 4.49 ops/s. Best: 795.47 ops/s
Total: 1239.67ms ± 7.36ms. Best: 1233.87ms
Min time: 1.06ms ± 0.01ms
Mean time: 1.24ms ± 0.01ms
Median time: 1.15ms ± 0.01ms
95th percentile: 1.64ms ± 0.01ms
99th percentile: 1.69ms ± 0.01ms
Max time: 4.05ms ± 2.35ms
Ops: 802.48 ± 4.62 ops/s. Best: 791.61 ops/s
Total: 1246.08ms ± 7.53ms. Best: 1237.28ms
Min time: 1.07ms ± 0.01ms
Mean time: 1.25ms ± 0.01ms
Median time: 1.16ms ± 0.01ms
95th percentile: 1.65ms ± 0.01ms
99th percentile: 1.70ms ± 0.01ms
Max time: 4.08ms ± 2.33ms
e2e_route_ch Ops: 351.19 ± 0.88 ops/s. Best: 350.23 ops/s
Total: 2847.57ms ± 6.71ms. Best: 2834.43ms
Min time: 1.28ms ± 0.01ms
Mean time: 2.85ms ± 0.01ms
Median time: 2.87ms ± 0.01ms
95th percentile: 3.74ms ± 0.03ms
99th percentile: 4.11ms ± 0.06ms
Max time: 6.64ms ± 1.98ms
Ops: 350.36 ± 1.83 ops/s. Best: 346.10 ops/s
Total: 2854.06ms ± 15.58ms. Best: 2838.40ms
Min time: 1.28ms ± 0.01ms
Mean time: 2.85ms ± 0.02ms
Median time: 2.87ms ± 0.02ms
95th percentile: 3.75ms ± 0.02ms
99th percentile: 4.14ms ± 0.04ms
Max time: 6.66ms ± 2.10ms
e2e_route_mld Ops: 297.36 ± 0.87 ops/s. Best: 295.46 ops/s
Total: 3362.77ms ± 10.39ms. Best: 3348.86ms
Min time: 1.26ms ± 0.01ms
Mean time: 3.36ms ± 0.01ms
Median time: 3.39ms ± 0.01ms
95th percentile: 4.57ms ± 0.02ms
99th percentile: 5.01ms ± 0.06ms
Max time: 7.25ms ± 1.62ms
Ops: 296.42 ± 0.83 ops/s. Best: 295.00 ops/s
Total: 3373.47ms ± 9.58ms. Best: 3358.90ms
Min time: 1.27ms ± 0.02ms
Mean time: 3.37ms ± 0.01ms
Median time: 3.41ms ± 0.01ms
95th percentile: 4.57ms ± 0.02ms
99th percentile: 5.04ms ± 0.04ms
Max time: 7.28ms ± 1.57ms
e2e_table_ch Ops: 309.82 ± 0.71 ops/s. Best: 308.16 ops/s
Total: 3227.58ms ± 7.75ms. Best: 3218.84ms
Min time: 1.69ms ± 0.02ms
Mean time: 3.23ms ± 0.01ms
Median time: 3.23ms ± 0.02ms
95th percentile: 4.45ms ± 0.03ms
99th percentile: 4.76ms ± 0.03ms
Max time: 7.16ms ± 2.29ms
Ops: 302.48 ± 0.81 ops/s. Best: 300.76 ops/s
Total: 3305.78ms ± 9.23ms. Best: 3296.64ms
Min time: 1.61ms ± 0.03ms
Mean time: 3.31ms ± 0.01ms
Median time: 3.31ms ± 0.01ms
95th percentile: 4.58ms ± 0.02ms
99th percentile: 4.94ms ± 0.07ms
Max time: 7.50ms ± 2.30ms
e2e_table_mld Ops: 111.20 ± 0.14 ops/s. Best: 110.98 ops/s
Total: 8992.11ms ± 11.20ms. Best: 8973.26ms
Min time: 3.66ms ± 0.04ms
Mean time: 8.99ms ± 0.01ms
Median time: 8.95ms ± 0.02ms
95th percentile: 13.73ms ± 0.05ms
99th percentile: 14.65ms ± 0.05ms
Max time: 16.48ms ± 1.42ms
Ops: 111.12 ± 0.18 ops/s. Best: 110.77 ops/s
Total: 8999.66ms ± 16.25ms. Best: 8977.18ms
Min time: 3.63ms ± 0.02ms
Mean time: 9.00ms ± 0.02ms
Median time: 8.97ms ± 0.02ms
95th percentile: 13.74ms ± 0.02ms
99th percentile: 14.65ms ± 0.12ms
Max time: 16.87ms ± 1.62ms
e2e_trip_ch Ops: 99.13 ± 0.24 ops/s. Best: 98.69 ops/s
Total: 10086.59ms ± 26.09ms. Best: 10052.35ms
Min time: 1.53ms ± 0.16ms
Mean time: 10.09ms ± 0.03ms
Median time: 9.59ms ± 0.03ms
95th percentile: 17.95ms ± 0.05ms
99th percentile: 19.49ms ± 0.12ms
Max time: 22.03ms ± 1.52ms
Ops: 98.34 ± 0.12 ops/s. Best: 98.20 ops/s
Total: 10168.66ms ± 11.95ms. Best: 10147.32ms
Min time: 1.53ms ± 0.17ms
Mean time: 10.17ms ± 0.01ms
Median time: 9.67ms ± 0.03ms
95th percentile: 18.11ms ± 0.04ms
99th percentile: 19.49ms ± 0.08ms
Max time: 22.46ms ± 1.53ms
e2e_trip_mld Ops: 59.35 ± 0.30 ops/s. Best: 58.59 ops/s
Total: 16851.90ms ± 86.44ms. Best: 16770.77ms
Min time: 1.53ms ± 0.16ms
Mean time: 16.85ms ± 0.09ms
Median time: 16.42ms ± 0.10ms
95th percentile: 27.70ms ± 0.11ms
99th percentile: 29.67ms ± 0.38ms
Max time: 31.70ms ± 0.42ms
Ops: 59.43 ± 0.22 ops/s. Best: 58.86 ops/s
Total: 16822.61ms ± 63.54ms. Best: 16778.04ms
Min time: 1.57ms ± 0.20ms
Mean time: 16.83ms ± 0.06ms
Median time: 16.41ms ± 0.11ms
95th percentile: 27.64ms ± 0.17ms
99th percentile: 29.55ms ± 0.30ms
Max time: 31.89ms ± 0.14ms
json-render String: 6.80436ms
Stringstream: 10.4155ms
Vector: 6.92967ms
String: 6.71979ms
Stringstream: 10.3084ms
Vector: 6.88586ms
match_ch Default radius:
4.55685ms/req at 82 coordinate
0.0555714ms/coordinate
Radius 10m:
15.9094ms/req at 82 coordinate
0.194018ms/coordinate
Default radius:
4.56459ms/req at 82 coordinate
0.0556657ms/coordinate
Radius 10m:
15.918ms/req at 82 coordinate
0.194121ms/coordinate
match_mld Default radius:
3.2814ms/req at 82 coordinate
0.040017ms/coordinate
Radius 10m:
12.8884ms/req at 82 coordinate
0.157176ms/coordinate
Default radius:
3.13238ms/req at 82 coordinate
0.0381998ms/coordinate
Radius 10m:
11.6032ms/req at 82 coordinate
0.141503ms/coordinate
osrm_contract Time: 92.80s Peak RAM: 196.09MB Time: 93.42s Peak RAM: 195.78MB
osrm_customize Time: 1.34s Peak RAM: 116.85MB Time: 1.34s Peak RAM: 116.74MB
osrm_extract Time: 11.99s Peak RAM: 410.74MB Time: 11.96s Peak RAM: 404.40MB
osrm_partition Time: 1.98s Peak RAM: 138.17MB Time: 1.98s Peak RAM: 135.23MB
packedvector random write:
std::vector 11179.6 ms
util::packed_vector 81111.6 ms
slowdown: 7.25535
random read:
std::vector 11019.8 ms
util::packed_vector 33347.7 ms
slowdown: 3.02616
random write:
std::vector 11190.5 ms
util::packed_vector 73865 ms
slowdown: 6.60068
random read:
std::vector 11009.6 ms
util::packed_vector 30389.5 ms
slowdown: 2.76028
random_match_ch 500 matches, default radius
ops: 212.45 ± 0.93 ops/s. best: 213.45ops/s.
total: 268.30 ± 1.19ms. best: 267.04ms.
avg: 4.71 ± 0.02ms
min: 0.14 ± 0.01ms
max: 26.34 ± 0.21ms
p99: 26.34 ± 0.21ms

500 matches, radius=10
ops: 62.32 ± 0.11 ops/s. best: 62.48ops/s.
total: 1027.01 ± 1.83ms. best: 1024.29ms.
avg: 16.05 ± 0.03ms
min: 0.16 ± 0.00ms
max: 243.23 ± 0.35ms
p99: 243.23 ± 0.35ms

500 matches, radius=20
ops: 14.63 ± 0.03 ops/s. best: 14.69ops/s.
total: 4442.09 ± 9.19ms. best: 4426.25ms.
avg: 68.34 ± 0.14ms
min: 0.31 ± 0.00ms
max: 1257.82 ± 4.58ms
p99: 1257.82 ± 4.58ms
500 matches, default radius
ops: 210.69 ± 0.93 ops/s. best: 208.66ops/s.
total: 270.54 ± 1.21ms. best: 269.39ms.
avg: 4.75 ± 0.02ms
min: 0.14 ± 0.01ms
max: 25.92 ± 0.08ms
p99: 25.92 ± 0.08ms

500 matches, radius=10
ops: 61.71 ± 0.15 ops/s. best: 61.51ops/s.
total: 1037.14 ± 2.40ms. best: 1032.54ms.
avg: 16.21 ± 0.04ms
min: 0.16 ± 0.00ms
max: 247.29 ± 0.57ms
p99: 247.29 ± 0.57ms

500 matches, radius=20
ops: 14.45 ± 0.02 ops/s. best: 14.43ops/s.
total: 4496.89 ± 4.73ms. best: 4488.98ms.
avg: 69.18 ± 0.07ms
min: 0.31 ± 0.00ms
max: 1284.02 ± 1.77ms
p99: 1284.02 ± 1.77ms
random_match_mld 500 matches, default radius
ops: 298.21 ± 1.39 ops/s. best: 299.27ops/s.
total: 191.14 ± 0.90ms. best: 190.47ms.
avg: 3.35 ± 0.02ms
min: 0.13 ± 0.00ms
max: 19.85 ± 0.05ms
p99: 19.85 ± 0.05ms

500 matches, radius=10
ops: 104.35 ± 0.66 ops/s. best: 104.86ops/s.
total: 613.37 ± 3.94ms. best: 610.32ms.
avg: 9.58 ± 0.06ms
min: 0.15 ± 0.00ms
max: 116.41 ± 0.16ms
p99: 116.41 ± 0.16ms

500 matches, radius=20
ops: 20.94 ± 0.03 ops/s. best: 21.01ops/s.
total: 3104.54 ± 4.91ms. best: 3094.01ms.
avg: 47.76 ± 0.08ms
min: 0.20 ± 0.00ms
max: 614.27 ± 1.59ms
p99: 614.27 ± 1.59ms
500 matches, default radius
ops: 302.04 ± 1.70 ops/s. best: 297.55ops/s.
total: 188.73 ± 1.07ms. best: 188.00ms.
avg: 3.31 ± 0.02ms
min: 0.12 ± 0.00ms
max: 19.61 ± 0.04ms
p99: 19.61 ± 0.04ms

500 matches, radius=10
ops: 105.12 ± 0.29 ops/s. best: 104.79ops/s.
total: 608.86 ± 1.68ms. best: 605.17ms.
avg: 9.51 ± 0.03ms
min: 0.15 ± 0.00ms
max: 116.21 ± 0.40ms
p99: 116.21 ± 0.40ms

500 matches, radius=20
ops: 20.90 ± 0.02 ops/s. best: 20.87ops/s.
total: 3109.55 ± 3.22ms. best: 3105.39ms.
avg: 47.84 ± 0.05ms
min: 0.20 ± 0.00ms
max: 617.40 ± 1.37ms
p99: 617.40 ± 1.37ms
random_nearest_ch 10000 nearest, number_of_results=1
ops: 22808.22 ± 127.83 ops/s. best: 22919.66ops/s.
total: 438.46 ± 2.47ms. best: 436.31ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.02ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17803.56 ± 27.44 ops/s. best: 17826.00ops/s.
total: 561.69 ± 0.87ms. best: 560.98ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.01ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14407.04 ± 3.78 ops/s. best: 14415.00ops/s.
total: 694.11 ± 0.18ms. best: 693.72ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.17 ± 0.00ms
p99: 0.14 ± 0.00ms
10000 nearest, number_of_results=1
ops: 22690.92 ± 56.02 ops/s. best: 22551.28ops/s.
total: 440.71 ± 1.09ms. best: 439.80ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.02ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17643.91 ± 19.43 ops/s. best: 17608.59ops/s.
total: 566.77 ± 0.62ms. best: 565.94ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.16 ± 0.01ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14263.09 ± 93.43 ops/s. best: 14028.20ops/s.
total: 701.16 ± 4.65ms. best: 697.43ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.01ms
p99: 0.14 ± 0.00ms
random_nearest_mld 10000 nearest, number_of_results=1
ops: 23023.08 ± 53.88 ops/s. best: 23063.85ops/s.
total: 434.35 ± 1.02ms. best: 433.58ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.02ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17758.27 ± 10.11 ops/s. best: 17768.47ops/s.
total: 563.12 ± 0.32ms. best: 562.79ms.
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: 14382.16 ± 10.33 ops/s. best: 14396.92ops/s.
total: 695.31 ± 0.51ms. best: 694.59ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.17 ± 0.00ms
p99: 0.14 ± 0.00ms
10000 nearest, number_of_results=1
ops: 22854.43 ± 55.26 ops/s. best: 22747.36ops/s.
total: 437.56 ± 1.06ms. best: 436.37ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.02ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17683.04 ± 5.38 ops/s. best: 17674.87ops/s.
total: 565.51 ± 0.18ms. best: 565.21ms.
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: 14334.50 ± 10.06 ops/s. best: 14320.00ops/s.
total: 697.62 ± 0.48ms. best: 697.06ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.17 ± 0.01ms
p99: 0.14 ± 0.00ms
random_route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 519.86 ± 1.01 ops/s. best: 521.32ops/s.
total: 1892.83 ± 3.86ms. best: 1887.52ms.
avg: 1.92 ± 0.00ms
min: 0.33 ± 0.00ms
max: 3.23 ± 0.22ms
p99: 2.77 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 604.84 ± 1.61 ops/s. best: 606.64ops/s.
total: 1653.34 ± 4.41ms. best: 1648.41ms.
avg: 1.65 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.15 ± 0.09ms
p99: 3.57 ± 0.04ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 1063.66 ± 0.71 ops/s. best: 1064.66ops/s.
total: 925.11 ± 0.62ms. best: 924.24ms.
avg: 0.94 ± 0.00ms
min: 0.24 ± 0.00ms
max: 1.44 ± 0.02ms
p99: 1.30 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1182.79 ± 3.52 ops/s. best: 1187.85ops/s.
total: 845.47 ± 2.51ms. best: 841.86ms.
avg: 0.85 ± 0.00ms
min: 0.04 ± 0.00ms
max: 2.94 ± 0.03ms
p99: 1.78 ± 0.01ms
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 503.34 ± 0.62 ops/s. best: 502.31ops/s.
total: 1954.96 ± 2.48ms. best: 1951.02ms.
avg: 1.99 ± 0.00ms
min: 0.33 ± 0.01ms
max: 3.23 ± 0.23ms
p99: 2.85 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 588.09 ± 1.21 ops/s. best: 586.10ops/s.
total: 1700.42 ± 3.51ms. best: 1696.03ms.
avg: 1.70 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.24 ± 0.01ms
p99: 3.58 ± 0.02ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 970.75 ± 1.46 ops/s. best: 968.13ops/s.
total: 1013.66 ± 1.53ms. best: 1011.30ms.
avg: 1.03 ± 0.00ms
min: 0.24 ± 0.00ms
max: 1.62 ± 0.01ms
p99: 1.42 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1095.88 ± 1.33 ops/s. best: 1093.11ops/s.
total: 912.51 ± 1.12ms. best: 911.46ms.
avg: 0.91 ± 0.00ms
min: 0.04 ± 0.00ms
max: 3.33 ± 0.01ms
p99: 2.04 ± 0.01ms
random_route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 256.08 ± 1.40 ops/s. best: 257.65ops/s.
total: 3842.73 ± 21.87ms. best: 3819.09ms.
avg: 3.91 ± 0.02ms
min: 0.33 ± 0.01ms
max: 8.51 ± 0.03ms
p99: 6.49 ± 0.10ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 251.80 ± 0.38 ops/s. best: 252.21ops/s.
total: 3971.45 ± 6.15ms. best: 3965.02ms.
avg: 3.97 ± 0.01ms
min: 0.05 ± 0.00ms
max: 9.15 ± 0.32ms
p99: 8.02 ± 0.08ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 343.55 ± 0.46 ops/s. best: 344.49ops/s.
total: 2864.25 ± 3.84ms. best: 2856.37ms.
avg: 2.91 ± 0.00ms
min: 0.28 ± 0.00ms
max: 7.21 ± 0.23ms
p99: 4.97 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 315.77 ± 0.49 ops/s. best: 316.38ops/s.
total: 3166.83 ± 4.93ms. best: 3160.72ms.
avg: 3.17 ± 0.00ms
min: 0.04 ± 0.00ms
max: 6.90 ± 0.02ms
p99: 6.23 ± 0.02ms
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 253.28 ± 1.10 ops/s. best: 250.74ops/s.
total: 3885.18 ± 16.99ms. best: 3869.00ms.
avg: 3.95 ± 0.02ms
min: 0.32 ± 0.00ms
max: 8.60 ± 0.04ms
p99: 6.59 ± 0.07ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 248.57 ± 0.20 ops/s. best: 248.29ops/s.
total: 4023.02 ± 3.31ms. best: 4018.52ms.
avg: 4.02 ± 0.00ms
min: 0.05 ± 0.00ms
max: 9.13 ± 0.05ms
p99: 8.09 ± 0.04ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 336.87 ± 0.70 ops/s. best: 335.87ops/s.
total: 2921.00 ± 6.04ms. best: 2913.76ms.
avg: 2.97 ± 0.01ms
min: 0.29 ± 0.00ms
max: 7.17 ± 0.02ms
p99: 5.05 ± 0.00ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 309.83 ± 0.95 ops/s. best: 307.90ops/s.
total: 3227.61 ± 9.87ms. best: 3214.00ms.
avg: 3.23 ± 0.01ms
min: 0.04 ± 0.00ms
max: 7.09 ± 0.07ms
p99: 6.33 ± 0.06ms
random_table_ch 250 tables, 3 coordinates
ops: 1483.50 ± 11.64 ops/s. best: 1493.10ops/s.
total: 168.54 ± 1.35ms. best: 167.44ms.
avg: 0.67 ± 0.01ms
min: 0.52 ± 0.01ms
max: 1.00 ± 0.24ms
p99: 0.86 ± 0.05ms

250 tables, 25 coordinates
ops: 173.80 ± 0.03 ops/s. best: 173.85ops/s.
total: 1438.41 ± 0.22ms. best: 1438.03ms.
avg: 5.75 ± 0.00ms
min: 5.26 ± 0.01ms
max: 6.22 ± 0.06ms
p99: 6.16 ± 0.01ms

250 tables, 50 coordinates
ops: 85.51 ± 0.02 ops/s. best: 85.55ops/s.
total: 2923.59 ± 0.74ms. best: 2922.18ms.
avg: 11.69 ± 0.00ms
min: 11.07 ± 0.01ms
max: 12.60 ± 0.06ms
p99: 12.39 ± 0.02ms
250 tables, 3 coordinates
ops: 1405.97 ± 8.19 ops/s. best: 1385.72ops/s.
total: 177.82 ± 1.05ms. best: 177.02ms.
avg: 0.71 ± 0.00ms
min: 0.52 ± 0.00ms
max: 1.05 ± 0.21ms
p99: 0.91 ± 0.04ms

250 tables, 25 coordinates
ops: 165.36 ± 0.19 ops/s. best: 164.96ops/s.
total: 1511.90 ± 1.74ms. best: 1509.82ms.
avg: 6.05 ± 0.01ms
min: 5.50 ± 0.01ms
max: 6.69 ± 0.13ms
p99: 6.53 ± 0.02ms

250 tables, 50 coordinates
ops: 81.27 ± 0.04 ops/s. best: 81.21ops/s.
total: 3076.11 ± 1.47ms. best: 3073.61ms.
avg: 12.30 ± 0.01ms
min: 11.57 ± 0.02ms
max: 13.36 ± 0.23ms
p99: 13.04 ± 0.05ms
random_table_mld 250 tables, 3 coordinates
ops: 346.53 ± 0.60 ops/s. best: 347.08ops/s.
total: 721.45 ± 1.25ms. best: 720.30ms.
avg: 2.89 ± 0.00ms
min: 2.30 ± 0.01ms
max: 3.97 ± 0.01ms
p99: 3.80 ± 0.03ms

250 tables, 25 coordinates
ops: 38.43 ± 0.02 ops/s. best: 38.47ops/s.
total: 6505.39 ± 4.22ms. best: 6499.37ms.
avg: 26.02 ± 0.02ms
min: 23.50 ± 0.04ms
max: 29.52 ± 0.05ms
p99: 28.50 ± 0.06ms

250 tables, 50 coordinates
ops: 17.85 ± 0.01 ops/s. best: 17.87ops/s.
total: 14004.42 ± 10.52ms. best: 13987.25ms.
avg: 56.02 ± 0.04ms
min: 52.16 ± 0.08ms
max: 59.78 ± 0.10ms
p99: 59.43 ± 0.04ms
250 tables, 3 coordinates
ops: 344.92 ± 0.72 ops/s. best: 343.34ops/s.
total: 724.82 ± 1.52ms. best: 723.18ms.
avg: 2.90 ± 0.01ms
min: 2.31 ± 0.02ms
max: 3.98 ± 0.03ms
p99: 3.81 ± 0.03ms

250 tables, 25 coordinates
ops: 38.41 ± 0.01 ops/s. best: 38.39ops/s.
total: 6509.00 ± 2.36ms. best: 6504.91ms.
avg: 26.04 ± 0.01ms
min: 23.57 ± 0.03ms
max: 29.63 ± 0.20ms
p99: 28.57 ± 0.15ms

250 tables, 50 coordinates
ops: 17.91 ± 0.00 ops/s. best: 17.91ops/s.
total: 13955.48 ± 1.22ms. best: 13953.62ms.
avg: 55.82 ± 0.00ms
min: 51.99 ± 0.07ms
max: 59.49 ± 0.08ms
p99: 59.23 ± 0.07ms
random_trip_ch 250 trips, 3 coordinates
ops: 498.79 ± 5.74 ops/s. best: 503.58ops/s.
total: 501.32 ± 5.88ms. best: 496.45ms.
avg: 2.01 ± 0.02ms
min: 1.04 ± 0.02ms
max: 2.90 ± 0.33ms
p99: 2.75 ± 0.28ms

250 trips, 5 coordinates
ops: 333.56 ± 0.46 ops/s. best: 334.07ops/s.
total: 749.50 ± 1.03ms. best: 748.34ms.
avg: 3.00 ± 0.00ms
min: 1.90 ± 0.02ms
max: 3.61 ± 0.01ms
p99: 3.55 ± 0.01ms
250 trips, 3 coordinates
ops: 471.17 ± 2.05 ops/s. best: 466.12ops/s.
total: 530.61 ± 2.32ms. best: 528.71ms.
avg: 2.12 ± 0.01ms
min: 1.14 ± 0.00ms
max: 2.97 ± 0.26ms
p99: 2.74 ± 0.01ms

250 trips, 5 coordinates
ops: 314.21 ± 0.49 ops/s. best: 313.26ops/s.
total: 795.66 ± 1.24ms. best: 794.18ms.
avg: 3.18 ± 0.00ms
min: 1.96 ± 0.01ms
max: 3.87 ± 0.07ms
p99: 3.77 ± 0.03ms
random_trip_mld 250 trips, 3 coordinates
ops: 177.08 ± 0.74 ops/s. best: 178.26ops/s.
total: 1411.84 ± 5.96ms. best: 1402.45ms.
avg: 5.65 ± 0.02ms
min: 3.79 ± 0.02ms
max: 8.02 ± 0.76ms
p99: 7.24 ± 0.09ms

250 trips, 5 coordinates
ops: 115.76 ± 0.17 ops/s. best: 116.01ops/s.
total: 2159.63 ± 3.14ms. best: 2154.90ms.
avg: 8.64 ± 0.01ms
min: 6.10 ± 0.03ms
max: 10.91 ± 0.23ms
p99: 10.32 ± 0.09ms
250 trips, 3 coordinates
ops: 172.76 ± 0.32 ops/s. best: 172.38ops/s.
total: 1447.13 ± 2.64ms. best: 1441.86ms.
avg: 5.79 ± 0.01ms
min: 3.85 ± 0.02ms
max: 8.10 ± 0.35ms
p99: 7.36 ± 0.10ms

250 trips, 5 coordinates
ops: 113.41 ± 0.16 ops/s. best: 113.10ops/s.
total: 2204.32 ± 3.20ms. best: 2200.84ms.
avg: 8.82 ± 0.01ms
min: 6.20 ± 0.03ms
max: 10.97 ± 0.11ms
p99: 10.57 ± 0.13ms
route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
438.234ms
0.438234ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
537.88ms
0.53788ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
156.713ms
0.156713ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
143.307ms
0.143307ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
434.117ms
0.434117ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
535.236ms
0.535236ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
159.021ms
0.159021ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
141.047ms
0.141047ms/req
route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
586.131ms
0.586131ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
745.398ms
0.745398ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
289.278ms
0.289278ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
323.146ms
0.323146ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
577.664ms
0.577664ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
727.535ms
0.727535ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
284.734ms
0.284734ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
313.604ms
0.313604ms/req
rtree 1 result:
202.126ms -> 0.0202126 ms/query
10 results:
237.953ms -> 0.0237953 ms/query
1 result:
203.005ms -> 0.0203005 ms/query
10 results:
239.678ms -> 0.0239678 ms/query

@SiarheiFedartsou SiarheiFedartsou marked this pull request as ready for review June 28, 2024 18:35
@SiarheiFedartsou SiarheiFedartsou merged commit 93c0e1d into master Jun 29, 2024
22 checks passed
@SiarheiFedartsou SiarheiFedartsou deleted the sf-map-matching-perf branch June 29, 2024 17:59
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