Project-OSRM / osrm-backend

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

Add NodeJs bindings benchmarks #7004

Closed SiarheiFedartsou closed 2 months ago

SiarheiFedartsou commented 2 months ago

I am going to try to add a couple of performance optimisation in NodeJs bindings, so it would be really useful.

Benchmark Results

| Benchmark | Base | PR | |-----------|------|----| | alias | aliased u32: 1149.31
plain u32: 1149.65
aliased double: 1179.27
plain double: 1190.37 | aliased u32: 1163.21
plain u32: 1166.87
aliased double: 1203.11
plain double: 1211.36 | | e2e_match_ch | Ops: 42.66 ± 0.25 ops/s. Best: 42.92 ops/s
Total: 3071.30ms ± 18.80ms. Best: 3052.09ms
Min time: 2.09ms ± 0.02ms
Mean time: 23.44ms ± 0.15ms
Median time: 15.89ms ± 0.13ms
95th percentile: 80.46ms ± 0.96ms
99th percentile: 97.67ms ± 0.33ms
Max time: 102.14ms ± 0.57ms | Ops: 43.68 ± 0.06 ops/s. Best: 43.77 ops/s
Total: 2999.34ms ± 4.33ms. Best: 2993.06ms
Min time: 2.07ms ± 0.03ms
Mean time: 22.90ms ± 0.03ms
Median time: 15.77ms ± 0.08ms
95th percentile: 75.73ms ± 0.23ms
99th percentile: 91.39ms ± 0.23ms
Max time: 100.04ms ± 0.33ms | | e2e_match_mld | Ops: 62.37 ± 0.14 ops/s. Best: 62.65 ops/s
Total: 2100.58ms ± 4.83ms. Best: 2090.95ms
Min time: 1.82ms ± 0.02ms
Mean time: 16.03ms ± 0.04ms
Median time: 8.41ms ± 0.14ms
95th percentile: 52.72ms ± 0.30ms
99th percentile: 60.94ms ± 0.22ms
Max time: 69.78ms ± 0.35ms | Ops: 61.85 ± 0.22 ops/s. Best: 62.22 ops/s
Total: 2118.16ms ± 7.95ms. Best: 2105.57ms
Min time: 1.80ms ± 0.02ms
Mean time: 16.17ms ± 0.06ms
Median time: 8.41ms ± 0.11ms
95th percentile: 54.18ms ± 1.11ms
99th percentile: 63.53ms ± 1.24ms
Max time: 70.32ms ± 1.84ms | | e2e_nearest_ch | Ops: 867.25 ± 5.37 ops/s. Best: 874.27 ops/s
Total: 1152.97ms ± 7.36ms. Best: 1143.82ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.60ms ± 0.01ms
99th percentile: 1.65ms ± 0.01ms
Max time: 6.74ms ± 3.61ms | Ops: 866.78 ± 3.63 ops/s. Best: 873.80 ops/s
Total: 1153.69ms ± 5.17ms. Best: 1144.43ms
Min time: 0.98ms ± 0.00ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.07ms ± 0.00ms
95th percentile: 1.60ms ± 0.01ms
99th percentile: 1.65ms ± 0.01ms
Max time: 5.74ms ± 2.64ms | | e2e_nearest_mld | Ops: 865.66 ± 3.58 ops/s. Best: 871.46 ops/s
Total: 1155.23ms ± 5.30ms. Best: 1147.50ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.16ms ± 0.01ms
Median time: 1.07ms ± 0.00ms
95th percentile: 1.60ms ± 0.01ms
99th percentile: 1.66ms ± 0.01ms
Max time: 5.86ms ± 2.71ms | Ops: 860.53 ± 11.68 ops/s. Best: 872.55 ops/s
Total: 1162.62ms ± 16.10ms. Best: 1146.07ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.16ms ± 0.02ms
Median time: 1.07ms ± 0.01ms
95th percentile: 1.61ms ± 0.02ms
99th percentile: 1.69ms ± 0.05ms
Max time: 5.84ms ± 2.63ms | | e2e_route_ch | Ops: 373.30 ± 1.42 ops/s. Best: 376.39 ops/s
Total: 2679.03ms ± 10.66ms. Best: 2656.80ms
Min time: 1.19ms ± 0.01ms
Mean time: 2.68ms ± 0.01ms
Median time: 2.69ms ± 0.00ms
95th percentile: 3.52ms ± 0.02ms
99th percentile: 3.95ms ± 0.03ms
Max time: 6.74ms ± 2.39ms | Ops: 363.46 ± 5.07 ops/s. Best: 369.96 ops/s
Total: 2753.04ms ± 40.13ms. Best: 2702.97ms
Min time: 1.20ms ± 0.01ms
Mean time: 2.75ms ± 0.04ms
Median time: 2.77ms ± 0.04ms
95th percentile: 3.65ms ± 0.07ms
99th percentile: 4.06ms ± 0.07ms
Max time: 6.78ms ± 2.27ms | | e2e_route_mld | Ops: 307.67 ± 3.26 ops/s. Best: 310.63 ops/s
Total: 3250.92ms ± 34.79ms. Best: 3219.27ms
Min time: 1.19ms ± 0.01ms
Mean time: 3.25ms ± 0.03ms
Median time: 3.30ms ± 0.04ms
95th percentile: 4.45ms ± 0.06ms
99th percentile: 4.94ms ± 0.07ms
Max time: 7.72ms ± 2.16ms | Ops: 309.41 ± 1.65 ops/s. Best: 312.60 ops/s
Total: 3231.67ms ± 18.50ms. Best: 3198.93ms
Min time: 1.17ms ± 0.01ms
Mean time: 3.23ms ± 0.02ms
Median time: 3.27ms ± 0.01ms
95th percentile: 4.41ms ± 0.04ms
99th percentile: 4.91ms ± 0.06ms
Max time: 7.36ms ± 2.03ms | | e2e_table_ch | Ops: 317.49 ± 0.61 ops/s. Best: 318.20 ops/s
Total: 3149.66ms ± 6.65ms. Best: 3142.64ms
Min time: 1.63ms ± 0.02ms
Mean time: 3.15ms ± 0.01ms
Median time: 3.15ms ± 0.01ms
95th percentile: 4.37ms ± 0.03ms
99th percentile: 4.72ms ± 0.04ms
Max time: 8.18ms ± 2.21ms | Ops: 315.22 ± 0.58 ops/s. Best: 316.02 ops/s
Total: 3172.27ms ± 5.87ms. Best: 3164.36ms
Min time: 1.64ms ± 0.03ms
Mean time: 3.17ms ± 0.01ms
Median time: 3.17ms ± 0.01ms
95th percentile: 4.40ms ± 0.03ms
99th percentile: 4.73ms ± 0.06ms
Max time: 8.30ms ± 2.46ms | | e2e_table_mld | Ops: 108.90 ± 0.62 ops/s. Best: 109.61 ops/s
Total: 9182.47ms ± 53.11ms. Best: 9123.65ms
Min time: 3.67ms ± 0.09ms
Mean time: 9.18ms ± 0.05ms
Median time: 9.14ms ± 0.07ms
95th percentile: 14.08ms ± 0.07ms
99th percentile: 14.79ms ± 0.09ms
Max time: 17.36ms ± 2.31ms | Ops: 109.90 ± 0.45 ops/s. Best: 110.49 ops/s
Total: 9097.98ms ± 37.00ms. Best: 9050.91ms
Min time: 3.68ms ± 0.06ms
Mean time: 9.10ms ± 0.04ms
Median time: 9.06ms ± 0.08ms
95th percentile: 13.93ms ± 0.06ms
99th percentile: 14.62ms ± 0.07ms
Max time: 17.42ms ± 2.32ms | | e2e_trip_ch | Ops: 96.84 ± 0.93 ops/s. Best: 98.83 ops/s
Total: 10327.68ms ± 101.91ms. Best: 10118.12ms
Min time: 1.55ms ± 0.03ms
Mean time: 10.33ms ± 0.10ms
Median time: 9.79ms ± 0.11ms
95th percentile: 18.51ms ± 0.14ms
99th percentile: 20.57ms ± 0.31ms
Max time: 22.36ms ± 0.55ms | Ops: 100.58 ± 0.41 ops/s. Best: 101.10 ops/s
Total: 9940.82ms ± 41.07ms. Best: 9891.51ms
Min time: 1.43ms ± 0.12ms
Mean time: 9.94ms ± 0.04ms
Median time: 9.39ms ± 0.07ms
95th percentile: 17.97ms ± 0.10ms
99th percentile: 19.83ms ± 0.13ms
Max time: 22.31ms ± 1.11ms | | e2e_trip_mld | Ops: 59.26 ± 0.40 ops/s. Best: 59.69 ops/s
Total: 16876.46ms ± 117.90ms. Best: 16752.12ms
Min time: 1.64ms ± 0.28ms
Mean time: 16.87ms ± 0.12ms
Median time: 16.38ms ± 0.16ms
95th percentile: 27.74ms ± 0.13ms
99th percentile: 30.00ms ± 0.34ms
Max time: 31.87ms ± 0.20ms | Ops: 58.83 ± 0.38 ops/s. Best: 59.30 ops/s
Total: 17000.78ms ± 110.64ms. Best: 16864.57ms
Min time: 1.58ms ± 0.24ms
Mean time: 17.00ms ± 0.12ms
Median time: 16.49ms ± 0.11ms
95th percentile: 27.98ms ± 0.16ms
99th percentile: 30.27ms ± 0.09ms
Max time: 32.41ms ± 0.59ms | | json-render | String: 5.43145ms
Stringstream: 8.84586ms
Vector: 6.47058ms | String: 5.4868ms
Stringstream: 9.05192ms
Vector: 6.52944ms | | match_ch | Default radius:
4.61265ms/req at 82 coordinate
0.0562519ms/coordinate
Radius 10m:
16.1109ms/req at 82 coordinate
0.196475ms/coordinate | Default radius:
4.62303ms/req at 82 coordinate
0.0563784ms/coordinate
Radius 10m:
16.1028ms/req at 82 coordinate
0.196376ms/coordinate | | match_mld | Default radius:
3.14002ms/req at 82 coordinate
0.0382929ms/coordinate
Radius 10m:
11.7684ms/req at 82 coordinate
0.143517ms/coordinate | Default radius:
2.94615ms/req at 82 coordinate
0.0359286ms/coordinate
Radius 10m:
11.124ms/req at 82 coordinate
0.135659ms/coordinate | | node_match_ch | Ops: 283.8 ± 3.3 ops/s. Best: 286.8 ops/s | Ops: 285.7 ± 0.9 ops/s. Best: 286.8 ops/s | | node_match_mld | Ops: 365.7 ± 2.5 ops/s. Best: 369.0 ops/s | Ops: 363.8 ± 2.4 ops/s. Best: 366.8 ops/s | | node_nearest_ch | Ops: 11653.0 ± 529.9 ops/s. Best: 12688.7 ops/s | Ops: 11596.2 ± 664.1 ops/s. Best: 13016.9 ops/s | | node_nearest_mld | Ops: 12040.3 ± 622.4 ops/s. Best: 13083.6 ops/s | Ops: 11900.0 ± 319.0 ops/s. Best: 12298.3 ops/s | | node_route_ch | Ops: 1619.3 ± 21.1 ops/s. Best: 1667.8 ops/s | Ops: 1568.6 ± 28.3 ops/s. Best: 1606.9 ops/s | | node_route_mld | Ops: 902.6 ± 11.6 ops/s. Best: 926.6 ops/s | Ops: 848.9 ± 16.9 ops/s. Best: 878.0 ops/s | | node_table_ch | Ops: 249.1 ± 0.5 ops/s. Best: 249.7 ops/s | Ops: 241.3 ± 0.4 ops/s. Best: 241.7 ops/s | | node_table_mld | Ops: 58.9 ± 0.6 ops/s. Best: 59.6 ops/s | Ops: 58.5 ± 0.1 ops/s. Best: 58.8 ops/s | | node_trip_ch | Ops: 298.8 ± 1.6 ops/s. Best: 301.1 ops/s | Ops: 279.4 ± 2.9 ops/s. Best: 285.2 ops/s | | node_trip_mld | Ops: 99.8 ± 1.2 ops/s. Best: 101.3 ops/s | Ops: 98.1 ± 1.0 ops/s. Best: 99.4 ops/s | | osrm_contract | Time: 100.34s Peak RAM: 194.83MB | Time: 100.97s Peak RAM: 195.90MB | | osrm_customize | Time: 1.30s Peak RAM: 117.68MB | Time: 1.30s Peak RAM: 117.72MB | | osrm_extract | Time: 11.74s Peak RAM: 425.02MB | Time: 11.93s Peak RAM: 429.53MB | | osrm_partition | Time: 2.11s Peak RAM: 140.69MB | Time: 2.19s Peak RAM: 141.07MB | | packedvector | random write:
std::vector 11238.7 ms
util::packed_vector 74141.4 ms
slowdown: 6.597
random read:
std::vector 11123.5 ms
util::packed_vector 30804.5 ms
slowdown: 2.76932 | random write:
std::vector 11583.9 ms
util::packed_vector 74065.6 ms
slowdown: 6.39385
random read:
std::vector 11405.6 ms
util::packed_vector 30940.3 ms
slowdown: 2.71273 | | random_match_ch | 500 matches, default radius
ops: 207.24 ± 0.74 ops/s. best: 208.29ops/s.
total: 275.05 ± 1.06ms. best: 273.65ms.
avg: 4.83 ± 0.02ms
min: 0.13 ± 0.01ms
max: 24.67 ± 0.08ms
p99: 24.67 ± 0.08ms

500 matches, radius=10
ops: 61.39 ± 0.23 ops/s. best: 61.72ops/s.
total: 1042.46 ± 4.05ms. best: 1036.93ms.
avg: 16.29 ± 0.06ms
min: 0.16 ± 0.00ms
max: 234.70 ± 1.56ms
p99: 234.70 ± 1.56ms

500 matches, radius=20
ops: 14.58 ± 0.03 ops/s. best: 14.65ops/s.
total: 4458.65 ± 10.48ms. best: 4437.67ms.
avg: 68.59 ± 0.16ms
min: 0.30 ± 0.00ms
max: 1197.45 ± 4.75ms
p99: 1197.45 ± 4.75ms | 500 matches, default radius
ops: 207.70 ± 0.56 ops/s. best: 208.50ops/s.
total: 274.44 ± 0.73ms. best: 273.38ms.
avg: 4.81 ± 0.01ms
min: 0.14 ± 0.01ms
max: 24.92 ± 0.07ms
p99: 24.92 ± 0.07ms

500 matches, radius=10
ops: 60.37 ± 0.05 ops/s. best: 60.45ops/s.
total: 1060.12 ± 0.84ms. best: 1058.80ms.
avg: 16.56 ± 0.01ms
min: 0.16 ± 0.00ms
max: 249.88 ± 0.58ms
p99: 249.88 ± 0.58ms

500 matches, radius=20
ops: 14.21 ± 0.02 ops/s. best: 14.24ops/s.
total: 4575.69 ± 6.04ms. best: 4564.20ms.
avg: 70.40 ± 0.09ms
min: 0.31 ± 0.01ms
max: 1296.05 ± 2.00ms
p99: 1296.05 ± 2.00ms | | random_match_mld | 500 matches, default radius
ops: 301.76 ± 1.86 ops/s. best: 303.24ops/s.
total: 188.90 ± 1.17ms. best: 187.97ms.
avg: 3.31 ± 0.02ms
min: 0.11 ± 0.01ms
max: 18.93 ± 0.07ms
p99: 18.93 ± 0.07ms

500 matches, radius=10
ops: 106.70 ± 0.12 ops/s. best: 106.87ops/s.
total: 599.83 ± 0.68ms. best: 598.88ms.
avg: 9.37 ± 0.01ms
min: 0.14 ± 0.00ms
max: 110.81 ± 0.32ms
p99: 110.81 ± 0.32ms

500 matches, radius=20
ops: 21.57 ± 0.03 ops/s. best: 21.61ops/s.
total: 3013.26 ± 3.82ms. best: 3007.77ms.
avg: 46.36 ± 0.06ms
min: 0.19 ± 0.01ms
max: 585.72 ± 1.74ms
p99: 585.72 ± 1.74ms | 500 matches, default radius
ops: 295.91 ± 1.66 ops/s. best: 297.23ops/s.
total: 192.64 ± 1.09ms. best: 191.77ms.
avg: 3.38 ± 0.02ms
min: 0.12 ± 0.01ms
max: 19.28 ± 0.02ms
p99: 19.28 ± 0.02ms

500 matches, radius=10
ops: 104.73 ± 0.21 ops/s. best: 105.05ops/s.
total: 611.08 ± 1.22ms. best: 609.25ms.
avg: 9.55 ± 0.02ms
min: 0.14 ± 0.00ms
max: 113.73 ± 1.02ms
p99: 113.73 ± 1.02ms

500 matches, radius=20
ops: 21.30 ± 0.04 ops/s. best: 21.35ops/s.
total: 3052.18 ± 6.38ms. best: 3044.12ms.
avg: 46.96 ± 0.10ms
min: 0.19 ± 0.00ms
max: 595.07 ± 1.97ms
p99: 595.07 ± 1.97ms | | random_nearest_ch | 10000 nearest, number_of_results=1
ops: 22781.17 ± 58.52 ops/s. best: 22848.04ops/s.
total: 438.96 ± 1.13ms. best: 437.67ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.17 ± 0.02ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17325.42 ± 41.87 ops/s. best: 17365.82ops/s.
total: 577.19 ± 1.40ms. best: 575.84ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.17 ± 0.00ms
p99: 0.13 ± 0.00ms

10000 nearest, number_of_results=10
ops: 13757.00 ± 11.78 ops/s. best: 13771.34ops/s.
total: 726.90 ± 0.62ms. best: 726.15ms.
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: 23289.57 ± 63.68 ops/s. best: 23367.93ops/s.
total: 429.38 ± 1.18ms. best: 427.94ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.17 ± 0.02ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17686.30 ± 53.99 ops/s. best: 17810.57ops/s.
total: 565.42 ± 1.72ms. best: 561.46ms.
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: 13986.89 ± 26.62 ops/s. best: 14042.37ops/s.
total: 714.96 ± 1.32ms. best: 712.13ms.
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: 23550.63 ± 60.36 ops/s. best: 23610.71ops/s.
total: 424.62 ± 1.09ms. best: 423.54ms.
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: 17848.21 ± 12.07 ops/s. best: 17877.39ops/s.
total: 560.28 ± 0.38ms. best: 559.37ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.17 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14152.45 ± 4.74 ops/s. best: 14162.54ops/s.
total: 706.59 ± 0.24ms. best: 706.09ms.
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: 23459.23 ± 38.36 ops/s. best: 23490.95ops/s.
total: 426.27 ± 0.70ms. best: 425.70ms.
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: 17748.17 ± 21.79 ops/s. best: 17786.33ops/s.
total: 563.44 ± 0.69ms. best: 562.23ms.
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: 13995.48 ± 29.31 ops/s. best: 14027.56ops/s.
total: 714.52 ± 1.50ms. best: 712.88ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.01ms
p99: 0.14 ± 0.00ms | | random_route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 521.61 ± 3.57 ops/s. best: 526.65ops/s.
total: 1886.59 ± 12.92ms. best: 1868.42ms.
avg: 1.92 ± 0.01ms
min: 0.32 ± 0.01ms
max: 3.29 ± 0.36ms
p99: 2.76 ± 0.06ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 611.77 ± 4.73 ops/s. best: 617.08ops/s.
total: 1634.71 ± 12.69ms. best: 1620.55ms.
avg: 1.63 ± 0.01ms
min: 0.05 ± 0.00ms
max: 4.06 ± 0.11ms
p99: 3.36 ± 0.06ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 1005.19 ± 2.84 ops/s. best: 1008.88ops/s.
total: 978.93 ± 2.77ms. best: 975.34ms.
avg: 0.99 ± 0.00ms
min: 0.24 ± 0.01ms
max: 1.73 ± 0.03ms
p99: 1.42 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1163.23 ± 3.90 ops/s. best: 1169.52ops/s.
total: 859.69 ± 2.88ms. best: 855.05ms.
avg: 0.86 ± 0.00ms
min: 0.04 ± 0.00ms
max: 2.56 ± 0.06ms
p99: 1.86 ± 0.01ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 511.52 ± 5.98 ops/s. best: 519.01ops/s.
total: 1924.05 ± 22.69ms. best: 1895.93ms.
avg: 1.96 ± 0.02ms
min: 0.32 ± 0.00ms
max: 3.58 ± 0.50ms
p99: 2.81 ± 0.05ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 581.91 ± 1.57 ops/s. best: 584.28ops/s.
total: 1718.51 ± 4.63ms. best: 1711.50ms.
avg: 1.72 ± 0.00ms
min: 0.05 ± 0.00ms
max: 4.83 ± 0.24ms
p99: 4.03 ± 0.06ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 925.66 ± 12.95 ops/s. best: 947.07ops/s.
total: 1063.30 ± 14.93ms. best: 1038.99ms.
avg: 1.08 ± 0.02ms
min: 0.24 ± 0.00ms
max: 1.78 ± 0.03ms
p99: 1.54 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1067.00 ± 8.41 ops/s. best: 1084.59ops/s.
total: 937.28 ± 7.33ms. best: 922.01ms.
avg: 0.94 ± 0.01ms
min: 0.04 ± 0.00ms
max: 2.64 ± 0.16ms
p99: 2.33 ± 0.02ms | | random_route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 246.32 ± 4.78 ops/s. best: 254.60ops/s.
total: 3996.88 ± 77.29ms. best: 3864.95ms.
avg: 4.06 ± 0.08ms
min: 0.32 ± 0.01ms
max: 8.84 ± 0.23ms
p99: 6.85 ± 0.18ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 241.78 ± 3.48 ops/s. best: 246.23ops/s.
total: 4137.09 ± 60.28ms. best: 4061.28ms.
avg: 4.14 ± 0.06ms
min: 0.05 ± 0.00ms
max: 9.83 ± 0.39ms
p99: 8.54 ± 0.15ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 332.86 ± 2.01 ops/s. best: 334.98ops/s.
total: 2956.35 ± 17.87ms. best: 2937.45ms.
avg: 3.00 ± 0.02ms
min: 0.29 ± 0.01ms
max: 7.25 ± 0.04ms
p99: 5.18 ± 0.04ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 301.13 ± 1.69 ops/s. best: 302.81ops/s.
total: 3321.01 ± 18.79ms. best: 3302.37ms.
avg: 3.32 ± 0.02ms
min: 0.04 ± 0.00ms
max: 7.37 ± 0.45ms
p99: 6.62 ± 0.03ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 251.26 ± 5.50 ops/s. best: 258.19ops/s.
total: 3918.90 ± 95.82ms. best: 3811.15ms.
avg: 3.98 ± 0.10ms
min: 0.31 ± 0.01ms
max: 8.66 ± 0.16ms
p99: 6.68 ± 0.11ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 240.93 ± 0.35 ops/s. best: 241.39ops/s.
total: 4150.59 ± 6.25ms. best: 4142.70ms.
avg: 4.15 ± 0.01ms
min: 0.05 ± 0.00ms
max: 10.04 ± 0.45ms
p99: 8.58 ± 0.02ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 324.42 ± 2.36 ops/s. best: 327.75ops/s.
total: 3033.28 ± 22.19ms. best: 3002.25ms.
avg: 3.08 ± 0.02ms
min: 0.28 ± 0.00ms
max: 7.38 ± 0.13ms
p99: 5.30 ± 0.06ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 298.30 ± 0.78 ops/s. best: 299.52ops/s.
total: 3352.37 ± 9.25ms. best: 3338.67ms.
avg: 3.35 ± 0.01ms
min: 0.04 ± 0.00ms
max: 7.56 ± 0.71ms
p99: 6.74 ± 0.02ms | | random_table_ch | 250 tables, 3 coordinates
ops: 1417.31 ± 9.04 ops/s. best: 1424.18ops/s.
total: 176.40 ± 1.14ms. best: 175.54ms.
avg: 0.71 ± 0.00ms
min: 0.53 ± 0.00ms
max: 1.03 ± 0.21ms
p99: 0.89 ± 0.03ms

250 tables, 25 coordinates
ops: 168.02 ± 0.12 ops/s. best: 168.19ops/s.
total: 1487.89 ± 1.07ms. best: 1486.38ms.
avg: 5.95 ± 0.00ms
min: 5.28 ± 0.01ms
max: 6.56 ± 0.01ms
p99: 6.47 ± 0.02ms

250 tables, 50 coordinates
ops: 82.97 ± 0.03 ops/s. best: 83.04ops/s.
total: 3013.06 ± 1.24ms. best: 3010.43ms.
avg: 12.05 ± 0.00ms
min: 11.23 ± 0.04ms
max: 12.83 ± 0.02ms
p99: 12.79 ± 0.02ms | 250 tables, 3 coordinates
ops: 1369.60 ± 8.37 ops/s. best: 1378.00ops/s.
total: 182.54 ± 1.13ms. best: 181.42ms.
avg: 0.73 ± 0.00ms
min: 0.56 ± 0.00ms
max: 1.10 ± 0.24ms
p99: 0.89 ± 0.03ms

250 tables, 25 coordinates
ops: 161.23 ± 0.37 ops/s. best: 161.80ops/s.
total: 1550.64 ± 3.58ms. best: 1545.16ms.
avg: 6.20 ± 0.01ms
min: 5.63 ± 0.02ms
max: 6.96 ± 0.36ms
p99: 6.69 ± 0.04ms

250 tables, 50 coordinates
ops: 79.44 ± 0.16 ops/s. best: 79.61ops/s.
total: 3146.87 ± 6.69ms. best: 3140.16ms.
avg: 12.59 ± 0.03ms
min: 11.89 ± 0.03ms
max: 13.54 ± 0.11ms
p99: 13.38 ± 0.05ms | | random_table_mld | 250 tables, 3 coordinates
ops: 333.46 ± 0.94 ops/s. best: 334.61ops/s.
total: 749.73 ± 2.13ms. best: 747.13ms.
avg: 3.00 ± 0.01ms
min: 2.52 ± 0.01ms
max: 4.00 ± 0.28ms
p99: 3.64 ± 0.14ms

250 tables, 25 coordinates
ops: 36.82 ± 0.12 ops/s. best: 37.12ops/s.
total: 6790.42 ± 22.65ms. best: 6734.07ms.
avg: 27.16 ± 0.09ms
min: 25.53 ± 0.09ms
max: 30.04 ± 0.90ms
p99: 29.11 ± 0.21ms

250 tables, 50 coordinates
ops: 17.19 ± 0.06 ops/s. best: 17.29ops/s.
total: 14542.38 ± 51.25ms. best: 14458.21ms.
avg: 58.17 ± 0.20ms
min: 55.78 ± 0.23ms
max: 62.19 ± 1.02ms
p99: 60.98 ± 0.46ms | 250 tables, 3 coordinates
ops: 330.83 ± 1.38 ops/s. best: 332.96ops/s.
total: 755.69 ± 3.16ms. best: 750.83ms.
avg: 3.02 ± 0.01ms
min: 2.52 ± 0.02ms
max: 3.99 ± 0.16ms
p99: 3.75 ± 0.11ms

250 tables, 25 coordinates
ops: 36.70 ± 0.15 ops/s. best: 36.89ops/s.
total: 6811.87 ± 28.46ms. best: 6776.71ms.
avg: 27.25 ± 0.11ms
min: 25.46 ± 0.04ms
max: 30.59 ± 1.77ms
p99: 29.20 ± 0.21ms

250 tables, 50 coordinates
ops: 17.21 ± 0.08 ops/s. best: 17.31ops/s.
total: 14529.55 ± 65.83ms. best: 14441.48ms.
avg: 58.12 ± 0.26ms
min: 55.57 ± 0.35ms
max: 62.32 ± 1.00ms
p99: 60.96 ± 0.43ms | | random_trip_ch | 250 trips, 3 coordinates
ops: 498.65 ± 3.39 ops/s. best: 502.60ops/s.
total: 501.38 ± 3.43ms. best: 497.41ms.
avg: 2.01 ± 0.01ms
min: 1.14 ± 0.01ms
max: 2.75 ± 0.29ms
p99: 2.54 ± 0.05ms

250 trips, 5 coordinates
ops: 331.12 ± 1.31 ops/s. best: 332.64ops/s.
total: 755.04 ± 3.00ms. best: 751.55ms.
avg: 3.02 ± 0.01ms
min: 2.08 ± 0.01ms
max: 3.82 ± 0.16ms
p99: 3.62 ± 0.03ms | 250 trips, 3 coordinates
ops: 458.57 ± 7.61 ops/s. best: 468.93ops/s.
total: 545.36 ± 9.50ms. best: 533.13ms.
avg: 2.18 ± 0.04ms
min: 1.17 ± 0.03ms
max: 3.22 ± 0.31ms
p99: 2.87 ± 0.03ms

250 trips, 5 coordinates
ops: 308.58 ± 1.75 ops/s. best: 311.29ops/s.
total: 810.20 ± 4.61ms. best: 803.11ms.
avg: 3.24 ± 0.02ms
min: 2.09 ± 0.02ms
max: 4.17 ± 0.18ms
p99: 3.97 ± 0.06ms | | random_trip_mld | 250 trips, 3 coordinates
ops: 171.78 ± 2.76 ops/s. best: 174.50ops/s.
total: 1455.94 ± 23.94ms. best: 1432.63ms.
avg: 5.82 ± 0.10ms
min: 3.58 ± 0.10ms
max: 8.02 ± 0.75ms
p99: 7.45 ± 0.29ms

250 trips, 5 coordinates
ops: 110.07 ± 1.15 ops/s. best: 111.42ops/s.
total: 2271.51 ± 24.23ms. best: 2243.69ms.
avg: 9.09 ± 0.10ms
min: 6.58 ± 0.03ms
max: 12.11 ± 1.26ms
p99: 11.07 ± 0.36ms | 250 trips, 3 coordinates
ops: 158.40 ± 1.02 ops/s. best: 160.36ops/s.
total: 1578.41 ± 10.19ms. best: 1558.96ms.
avg: 6.31 ± 0.04ms
min: 3.75 ± 0.03ms
max: 9.03 ± 0.64ms
p99: 8.42 ± 0.31ms

250 trips, 5 coordinates
ops: 103.96 ± 0.58 ops/s. best: 104.61ops/s.
total: 2404.80 ± 13.55ms. best: 2389.90ms.
avg: 9.62 ± 0.05ms
min: 6.81 ± 0.06ms
max: 11.81 ± 0.19ms
p99: 11.63 ± 0.19ms | | route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
426.129ms
0.426129ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
505.047ms
0.505047ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
147.44ms
0.14744ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
130.413ms
0.130413ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
422.969ms
0.422969ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
505.354ms
0.505354ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
147.213ms
0.147213ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
130.043ms
0.130043ms/req | | route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
577.579ms
0.577579ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
728.618ms
0.728618ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
298.767ms
0.298767ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
329.315ms
0.329315ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
567.101ms
0.567101ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
713.801ms
0.713801ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
288.206ms
0.288206ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
316.298ms
0.316298ms/req | | rtree | 1 result:
196.038ms -> 0.0196038 ms/query
10 results:
229.102ms -> 0.0229102 ms/query | 1 result:
192.668ms -> 0.0192668 ms/query
10 results:
227.587ms -> 0.0227587 ms/query |
SiarheiFedartsou commented 2 months ago

I assume it is okay to merge it without explicit approval... Let me know in case of any concerns.