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

Use std::string_view for key type in json::Object #7062

Merged
merged 23 commits into from
Nov 3, 2024

Conversation

SiarheiFedartsou
Copy link
Member

@SiarheiFedartsou SiarheiFedartsou commented Nov 2, 2024

Yet another micro optimisation: we avoid string copies this way - all keys in our JSON objects are static strings, so we can afford using simply std::string_view.

Benchmark Results

Benchmark Base PR
alias aliased u32: 10515.6
plain u32: 10444.7
aliased double: 14342.1
plain double: 14304.7
aliased u32: 10988.2
plain u32: 10917.5
aliased double: 15052.9
plain double: 15049.8
e2e_match_ch Ops: 25.85 ± 0.03 ops/s. Best: 25.88 ops/s
Total: 5068.11ms ± 5.67ms. Best: 5061.04ms
Min time: 2.96ms ± 0.07ms
Mean time: 38.69ms ± 0.04ms
Median time: 30.41ms ± 0.22ms
95th percentile: 120.62ms ± 0.43ms
99th percentile: 150.63ms ± 0.67ms
Max time: 174.53ms ± 0.75ms
Ops: 25.47 ± 0.01 ops/s. Best: 25.48 ops/s
Total: 5143.03ms ± 2.67ms. Best: 5140.79ms
Min time: 2.93ms ± 0.05ms
Mean time: 39.26ms ± 0.02ms
Median time: 30.74ms ± 0.13ms
95th percentile: 121.65ms ± 0.44ms
99th percentile: 154.04ms ± 0.23ms
Max time: 177.92ms ± 0.57ms
e2e_match_mld Ops: 43.27 ± 0.04 ops/s. Best: 43.32 ops/s
Total: 3027.27ms ± 2.42ms. Best: 3023.94ms
Min time: 2.41ms ± 0.03ms
Mean time: 23.11ms ± 0.02ms
Median time: 12.54ms ± 0.05ms
95th percentile: 75.41ms ± 0.22ms
99th percentile: 87.46ms ± 0.33ms
Max time: 100.47ms ± 0.37ms
Ops: 43.09 ± 0.01 ops/s. Best: 43.12 ops/s
Total: 3040.10ms ± 0.84ms. Best: 3038.14ms
Min time: 2.35ms ± 0.02ms
Mean time: 23.21ms ± 0.01ms
Median time: 12.57ms ± 0.04ms
95th percentile: 75.73ms ± 0.13ms
99th percentile: 87.80ms ± 0.24ms
Max time: 101.27ms ± 0.37ms
e2e_nearest_ch Ops: 672.02 ± 3.71 ops/s. Best: 678.52 ops/s
Total: 1488.05ms ± 8.20ms. Best: 1473.81ms
Min time: 1.22ms ± 0.01ms
Mean time: 1.49ms ± 0.01ms
Median time: 1.45ms ± 0.01ms
95th percentile: 1.85ms ± 0.01ms
99th percentile: 1.93ms ± 0.02ms
Max time: 8.91ms ± 7.09ms
Ops: 686.39 ± 2.62 ops/s. Best: 690.52 ops/s
Total: 1457.05ms ± 5.76ms. Best: 1448.17ms
Min time: 1.17ms ± 0.01ms
Mean time: 1.46ms ± 0.01ms
Median time: 1.42ms ± 0.01ms
95th percentile: 1.83ms ± 0.01ms
99th percentile: 1.92ms ± 0.01ms
Max time: 8.90ms ± 7.11ms
e2e_nearest_mld Ops: 679.55 ± 5.01 ops/s. Best: 687.40 ops/s
Total: 1471.76ms ± 11.28ms. Best: 1454.76ms
Min time: 1.21ms ± 0.00ms
Mean time: 1.47ms ± 0.01ms
Median time: 1.43ms ± 0.01ms
95th percentile: 1.82ms ± 0.01ms
99th percentile: 1.91ms ± 0.02ms
Max time: 8.96ms ± 7.19ms
Ops: 671.77 ± 2.49 ops/s. Best: 677.09 ops/s
Total: 1488.54ms ± 5.44ms. Best: 1476.90ms
Min time: 1.22ms ± 0.01ms
Mean time: 1.49ms ± 0.01ms
Median time: 1.45ms ± 0.01ms
95th percentile: 1.84ms ± 0.01ms
99th percentile: 1.92ms ± 0.01ms
Max time: 8.93ms ± 7.07ms
e2e_route_ch Ops: 223.73 ± 0.48 ops/s. Best: 224.44 ops/s
Total: 4469.51ms ± 9.78ms. Best: 4455.52ms
Min time: 1.77ms ± 0.06ms
Mean time: 4.47ms ± 0.01ms
Median time: 4.54ms ± 0.01ms
95th percentile: 5.92ms ± 0.04ms
99th percentile: 6.43ms ± 0.04ms
Max time: 12.87ms ± 5.99ms
Ops: 224.34 ± 0.31 ops/s. Best: 224.87 ops/s
Total: 4457.27ms ± 6.25ms. Best: 4446.93ms
Min time: 1.73ms ± 0.04ms
Mean time: 4.46ms ± 0.01ms
Median time: 4.52ms ± 0.02ms
95th percentile: 5.96ms ± 0.02ms
99th percentile: 6.49ms ± 0.03ms
Max time: 12.83ms ± 5.99ms
e2e_route_mld Ops: 184.34 ± 0.19 ops/s. Best: 184.64 ops/s
Total: 5424.75ms ± 5.55ms. Best: 5415.85ms
Min time: 1.73ms ± 0.03ms
Mean time: 5.42ms ± 0.01ms
Median time: 5.53ms ± 0.01ms
95th percentile: 7.40ms ± 0.01ms
99th percentile: 7.93ms ± 0.06ms
Max time: 14.15ms ± 5.55ms
Ops: 184.43 ± 0.37 ops/s. Best: 185.13 ops/s
Total: 5421.97ms ± 11.31ms. Best: 5401.53ms
Min time: 1.75ms ± 0.04ms
Mean time: 5.42ms ± 0.01ms
Median time: 5.53ms ± 0.02ms
95th percentile: 7.41ms ± 0.02ms
99th percentile: 7.94ms ± 0.05ms
Max time: 14.24ms ± 5.52ms
e2e_table_ch Ops: 219.59 ± 0.52 ops/s. Best: 220.29 ops/s
Total: 4553.79ms ± 10.68ms. Best: 4539.48ms
Min time: 2.49ms ± 0.03ms
Mean time: 4.55ms ± 0.01ms
Median time: 4.55ms ± 0.02ms
95th percentile: 6.21ms ± 0.02ms
99th percentile: 6.53ms ± 0.03ms
Max time: 13.35ms ± 6.78ms
Ops: 220.44 ± 0.39 ops/s. Best: 221.11 ops/s
Total: 4536.31ms ± 8.29ms. Best: 4522.54ms
Min time: 2.46ms ± 0.04ms
Mean time: 4.54ms ± 0.01ms
Median time: 4.55ms ± 0.01ms
95th percentile: 6.19ms ± 0.01ms
99th percentile: 6.50ms ± 0.02ms
Max time: 13.28ms ± 6.77ms
e2e_table_mld Ops: 70.45 ± 0.04 ops/s. Best: 70.50 ops/s
Total: 14194.27ms ± 7.28ms. Best: 14184.70ms
Min time: 5.78ms ± 0.06ms
Mean time: 14.19ms ± 0.01ms
Median time: 14.19ms ± 0.02ms
95th percentile: 21.66ms ± 0.02ms
99th percentile: 22.75ms ± 0.06ms
Max time: 29.05ms ± 5.09ms
Ops: 70.31 ± 0.11 ops/s. Best: 70.46 ops/s
Total: 14222.87ms ± 22.12ms. Best: 14193.28ms
Min time: 5.89ms ± 0.08ms
Mean time: 14.22ms ± 0.02ms
Median time: 14.22ms ± 0.02ms
95th percentile: 21.70ms ± 0.04ms
99th percentile: 22.70ms ± 0.08ms
Max time: 29.15ms ± 5.27ms
e2e_trip_ch Ops: 63.88 ± 0.03 ops/s. Best: 63.94 ops/s
Total: 15655.34ms ± 8.88ms. Best: 15638.76ms
Min time: 2.26ms ± 0.16ms
Mean time: 15.66ms ± 0.01ms
Median time: 14.91ms ± 0.07ms
95th percentile: 27.72ms ± 0.04ms
99th percentile: 29.78ms ± 0.09ms
Max time: 32.23ms ± 1.08ms
Ops: 63.93 ± 0.05 ops/s. Best: 64.01 ops/s
Total: 15641.94ms ± 13.79ms. Best: 15623.74ms
Min time: 2.27ms ± 0.14ms
Mean time: 15.64ms ± 0.01ms
Median time: 14.87ms ± 0.04ms
95th percentile: 27.79ms ± 0.06ms
99th percentile: 29.85ms ± 0.07ms
Max time: 32.41ms ± 1.08ms
e2e_trip_mld Ops: 37.38 ± 0.01 ops/s. Best: 37.40 ops/s
Total: 26754.00ms ± 8.88ms. Best: 26740.86ms
Min time: 2.29ms ± 0.15ms
Mean time: 26.75ms ± 0.01ms
Median time: 25.95ms ± 0.03ms
95th percentile: 43.65ms ± 0.04ms
99th percentile: 46.26ms ± 0.16ms
Max time: 48.59ms ± 0.11ms
Ops: 37.47 ± 0.04 ops/s. Best: 37.52 ops/s
Total: 26687.20ms ± 25.73ms. Best: 26650.22ms
Min time: 2.31ms ± 0.16ms
Mean time: 26.69ms ± 0.03ms
Median time: 25.85ms ± 0.04ms
95th percentile: 43.59ms ± 0.07ms
99th percentile: 46.32ms ± 0.34ms
Max time: 49.56ms ± 1.54ms
json-render String: 8.81307ms
Stringstream: 14.0214ms
Vector: 9.66424ms
String: 8.73489ms
Stringstream: 14.1779ms
Vector: 9.43052ms
match_ch Default radius:
7.06658ms/req at 82 coordinate
0.0861777ms/coordinate
Radius 10m:
24.9958ms/req at 82 coordinate
0.304826ms/coordinate
Default radius:
7.06004ms/req at 82 coordinate
0.086098ms/coordinate
Radius 10m:
25.0429ms/req at 82 coordinate
0.305401ms/coordinate
match_mld Default radius:
4.31222ms/req at 82 coordinate
0.0525881ms/coordinate
Radius 10m:
16.1473ms/req at 82 coordinate
0.196919ms/coordinate
Default radius:
4.33119ms/req at 82 coordinate
0.0528193ms/coordinate
Radius 10m:
16.1721ms/req at 82 coordinate
0.197221ms/coordinate
node_match_ch Ops: 152.5 ± 0.6 ops/s. Best: 153.7 ops/s Ops: 153.6 ± 0.2 ops/s. Best: 153.9 ops/s
node_match_mld Ops: 217.1 ± 1.2 ops/s. Best: 218.8 ops/s Ops: 216.2 ± 0.4 ops/s. Best: 216.8 ops/s
node_nearest_ch Ops: 10098.5 ± 835.4 ops/s. Best: 11680.9 ops/s Ops: 10090.2 ± 696.6 ops/s. Best: 11518.2 ops/s
node_nearest_mld Ops: 10014.6 ± 719.5 ops/s. Best: 11141.0 ops/s Ops: 9708.8 ± 337.7 ops/s. Best: 10257.3 ops/s
node_route_ch Ops: 1029.2 ± 15.1 ops/s. Best: 1046.6 ops/s Ops: 998.2 ± 12.0 ops/s. Best: 1015.6 ops/s
node_route_mld Ops: 527.0 ± 2.6 ops/s. Best: 531.1 ops/s Ops: 528.6 ± 3.7 ops/s. Best: 533.5 ops/s
node_table_ch Ops: 181.6 ± 1.5 ops/s. Best: 183.3 ops/s Ops: 181.4 ± 1.1 ops/s. Best: 183.4 ops/s
node_table_mld Ops: 38.3 ± 0.0 ops/s. Best: 38.4 ops/s Ops: 38.5 ± 0.1 ops/s. Best: 38.7 ops/s
node_trip_ch Ops: 185.4 ± 1.4 ops/s. Best: 187.2 ops/s Ops: 186.6 ± 0.9 ops/s. Best: 187.4 ops/s
node_trip_mld Ops: 62.7 ± 0.1 ops/s. Best: 62.8 ops/s Ops: 62.9 ± 0.1 ops/s. Best: 63.0 ops/s
osrm_contract Time: 184.91s Peak RAM: 186.04MB Time: 185.12s Peak RAM: 186.04MB
osrm_customize Time: 2.50s Peak RAM: 112.07MB Time: 2.48s Peak RAM: 112.07MB
osrm_extract Time: 24.06s Peak RAM: 396.45MB Time: 24.02s Peak RAM: 403.87MB
osrm_partition Time: 5.61s Peak RAM: 123.48MB Time: 5.61s Peak RAM: 124.50MB
packedvector random write:
std::vector 174644 ms
util::packed_vector 358117 ms
slowdown: 2.05055
random read:
std::vector 95570.3 ms
util::packed_vector 182176 ms
slowdown: 1.9062
random write:
std::vector 173784 ms
util::packed_vector 357439 ms
slowdown: 2.0568
random read:
std::vector 94998.4 ms
util::packed_vector 181754 ms
slowdown: 1.91323
random_match_ch 500 matches, default radius
ops: 123.05 ± 0.18 ops/s. best: 123.24ops/s.
total: 463.24 ± 0.71ms. best: 462.52ms.
avg: 8.13 ± 0.01ms
min: 0.23 ± 0.00ms
max: 41.27 ± 0.04ms
p99: 41.27 ± 0.04ms

500 matches, radius=10
ops: 36.29 ± 0.01 ops/s. best: 36.30ops/s.
total: 1763.62 ± 0.42ms. best: 1763.15ms.
avg: 27.56 ± 0.01ms
min: 0.22 ± 0.00ms
max: 333.06 ± 0.81ms
p99: 333.06 ± 0.81ms

500 matches, radius=20
ops: 8.63 ± 0.02 ops/s. best: 8.66ops/s.
total: 7533.43 ± 14.47ms. best: 7507.30ms.
avg: 115.90 ± 0.22ms
min: 0.48 ± 0.00ms
max: 1866.86 ± 4.73ms
p99: 1866.86 ± 4.73ms

Peak RAM: 56.000MB
500 matches, default radius
ops: 123.22 ± 0.19 ops/s. best: 123.44ops/s.
total: 462.58 ± 0.73ms. best: 461.77ms.
avg: 8.12 ± 0.01ms
min: 0.23 ± 0.00ms
max: 41.22 ± 0.08ms
p99: 41.22 ± 0.08ms

500 matches, radius=10
ops: 36.43 ± 0.02 ops/s. best: 36.47ops/s.
total: 1756.77 ± 0.90ms. best: 1754.99ms.
avg: 27.45 ± 0.01ms
min: 0.22 ± 0.00ms
max: 330.49 ± 0.85ms
p99: 330.49 ± 0.85ms

500 matches, radius=20
ops: 8.67 ± 0.01 ops/s. best: 8.69ops/s.
total: 7495.28 ± 11.00ms. best: 7476.56ms.
avg: 115.31 ± 0.17ms
min: 0.48 ± 0.00ms
max: 1849.69 ± 5.75ms
p99: 1849.69 ± 5.75ms

Peak RAM: 55.500MB
random_match_mld 500 matches, default radius
ops: 200.91 ± 0.43 ops/s. best: 201.42ops/s.
total: 283.72 ± 0.64ms. best: 282.98ms.
avg: 4.98 ± 0.01ms
min: 0.21 ± 0.00ms
max: 30.27 ± 0.02ms
p99: 30.27 ± 0.02ms

500 matches, radius=10
ops: 74.39 ± 0.09 ops/s. best: 74.53ops/s.
total: 860.33 ± 1.05ms. best: 858.71ms.
avg: 13.44 ± 0.02ms
min: 0.20 ± 0.00ms
max: 137.04 ± 0.48ms
p99: 137.04 ± 0.48ms

500 matches, radius=20
ops: 15.60 ± 0.01 ops/s. best: 15.61ops/s.
total: 4167.45 ± 1.98ms. best: 4164.69ms.
avg: 64.11 ± 0.03ms
min: 0.29 ± 0.00ms
max: 748.78 ± 0.48ms
p99: 748.78 ± 0.48ms

Peak RAM: 51.500MB
500 matches, default radius
ops: 201.90 ± 0.41 ops/s. best: 202.39ops/s.
total: 282.31 ± 0.63ms. best: 281.63ms.
avg: 4.95 ± 0.01ms
min: 0.21 ± 0.00ms
max: 30.14 ± 0.02ms
p99: 30.14 ± 0.02ms

500 matches, radius=10
ops: 74.81 ± 0.04 ops/s. best: 74.85ops/s.
total: 855.50 ± 0.52ms. best: 855.00ms.
avg: 13.37 ± 0.01ms
min: 0.21 ± 0.00ms
max: 136.30 ± 0.32ms
p99: 136.30 ± 0.32ms

500 matches, radius=20
ops: 15.71 ± 0.00 ops/s. best: 15.72ops/s.
total: 4137.88 ± 1.23ms. best: 4135.57ms.
avg: 63.66 ± 0.02ms
min: 0.29 ± 0.00ms
max: 743.22 ± 1.10ms
p99: 743.22 ± 1.10ms

Peak RAM: 51.500MB
random_nearest_ch 10000 nearest, number_of_results=1
ops: 21611.88 ± 33.84 ops/s. best: 21636.41ops/s.
total: 462.71 ± 0.73ms. best: 462.18ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.14 ± 0.01ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15595.15 ± 5.63 ops/s. best: 15600.78ops/s.
total: 641.23 ± 0.23ms. best: 640.99ms.
avg: 0.06 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12096.76 ± 3.32 ops/s. best: 12103.32ops/s.
total: 826.67 ± 0.23ms. best: 826.22ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.19 ± 0.00ms
p99: 0.15 ± 0.00ms

Peak RAM: 35.000MB
10000 nearest, number_of_results=1
ops: 21684.98 ± 30.55 ops/s. best: 21708.19ops/s.
total: 461.15 ± 0.65ms. best: 460.66ms.
avg: 0.05 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.14 ± 0.01ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15668.48 ± 8.62 ops/s. best: 15677.29ops/s.
total: 638.22 ± 0.35ms. best: 637.87ms.
avg: 0.06 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12173.70 ± 8.49 ops/s. best: 12181.76ops/s.
total: 821.44 ± 0.58ms. best: 820.90ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.19 ± 0.00ms
p99: 0.15 ± 0.00ms

Peak RAM: 35.000MB
random_nearest_mld 10000 nearest, number_of_results=1
ops: 21643.19 ± 34.63 ops/s. best: 21669.94ops/s.
total: 462.04 ± 0.74ms. best: 461.47ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.14 ± 0.01ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15604.92 ± 12.95 ops/s. best: 15614.58ops/s.
total: 640.82 ± 0.53ms. best: 640.43ms.
avg: 0.06 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12099.42 ± 0.67 ops/s. best: 12100.06ops/s.
total: 826.49 ± 0.05ms. best: 826.44ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.19 ± 0.00ms
p99: 0.15 ± 0.00ms

Peak RAM: 35.000MB
10000 nearest, number_of_results=1
ops: 21703.06 ± 48.71 ops/s. best: 21740.51ops/s.
total: 460.77 ± 1.04ms. best: 459.97ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.14 ± 0.01ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 15686.04 ± 8.27 ops/s. best: 15692.21ops/s.
total: 637.51 ± 0.34ms. best: 637.26ms.
avg: 0.06 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 12180.01 ± 5.86 ops/s. best: 12186.48ops/s.
total: 821.02 ± 0.39ms. best: 820.58ms.
avg: 0.08 ± 0.00ms
min: 0.04 ± 0.00ms
max: 0.19 ± 0.01ms
p99: 0.15 ± 0.00ms

Peak RAM: 35.000MB
random_route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 289.96 ± 0.57 ops/s. best: 290.42ops/s.
total: 3393.63 ± 6.70ms. best: 3388.22ms.
avg: 3.45 ± 0.01ms
min: 0.51 ± 0.00ms
max: 6.00 ± 0.22ms
p99: 5.15 ± 0.04ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 338.01 ± 0.04 ops/s. best: 338.06ops/s.
total: 2958.51 ± 0.37ms. best: 2958.03ms.
avg: 2.96 ± 0.00ms
min: 0.08 ± 0.00ms
max: 6.79 ± 0.04ms
p99: 6.59 ± 0.01ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 600.36 ± 0.11 ops/s. best: 600.53ops/s.
total: 1639.02 ± 0.30ms. best: 1638.55ms.
avg: 1.67 ± 0.00ms
min: 0.37 ± 0.00ms
max: 2.88 ± 0.00ms
p99: 2.41 ± 0.00ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 638.73 ± 0.10 ops/s. best: 638.97ops/s.
total: 1565.61 ± 0.25ms. best: 1565.01ms.
avg: 1.57 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.14 ± 0.00ms
p99: 4.03 ± 0.00ms

Peak RAM: 84.500MB
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 291.86 ± 0.19 ops/s. best: 292.11ops/s.
total: 3371.43 ± 2.17ms. best: 3368.62ms.
avg: 3.43 ± 0.00ms
min: 0.54 ± 0.00ms
max: 5.89 ± 0.01ms
p99: 5.14 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 337.31 ± 0.09 ops/s. best: 337.52ops/s.
total: 2964.66 ± 0.79ms. best: 2962.79ms.
avg: 2.96 ± 0.00ms
min: 0.08 ± 0.00ms
max: 6.81 ± 0.03ms
p99: 6.65 ± 0.00ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 592.84 ± 0.19 ops/s. best: 593.14ops/s.
total: 1659.81 ± 0.53ms. best: 1658.96ms.
avg: 1.69 ± 0.00ms
min: 0.38 ± 0.00ms
max: 2.92 ± 0.00ms
p99: 2.43 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 630.41 ± 0.08 ops/s. best: 630.50ops/s.
total: 1586.27 ± 0.20ms. best: 1586.05ms.
avg: 1.59 ± 0.00ms
min: 0.06 ± 0.00ms
max: 4.18 ± 0.00ms
p99: 4.07 ± 0.00ms

Peak RAM: 84.000MB
random_route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 148.57 ± 0.05 ops/s. best: 148.63ops/s.
total: 6623.30 ± 2.17ms. best: 6620.67ms.
avg: 6.73 ± 0.00ms
min: 0.54 ± 0.00ms
max: 15.38 ± 0.02ms
p99: 11.02 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 141.15 ± 0.01 ops/s. best: 141.17ops/s.
total: 7084.79 ± 0.65ms. best: 7083.49ms.
avg: 7.08 ± 0.00ms
min: 0.07 ± 0.00ms
max: 16.03 ± 0.07ms
p99: 13.93 ± 0.03ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 206.42 ± 0.01 ops/s. best: 206.44ops/s.
total: 4767.00 ± 0.25ms. best: 4766.52ms.
avg: 4.84 ± 0.00ms
min: 0.39 ± 0.00ms
max: 12.66 ± 0.01ms
p99: 8.23 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 177.10 ± 0.03 ops/s. best: 177.15ops/s.
total: 5646.60 ± 1.04ms. best: 5644.88ms.
avg: 5.65 ± 0.00ms
min: 0.06 ± 0.00ms
max: 12.53 ± 0.02ms
p99: 10.58 ± 0.01ms

Peak RAM: 74.047MB
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 150.48 ± 0.03 ops/s. best: 150.51ops/s.
total: 6539.23 ± 1.41ms. best: 6537.60ms.
avg: 6.65 ± 0.00ms
min: 0.53 ± 0.00ms
max: 15.20 ± 0.01ms
p99: 10.88 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 142.23 ± 0.03 ops/s. best: 142.26ops/s.
total: 7031.10 ± 1.34ms. best: 7029.25ms.
avg: 7.03 ± 0.00ms
min: 0.07 ± 0.00ms
max: 15.99 ± 0.05ms
p99: 13.80 ± 0.02ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 208.64 ± 0.02 ops/s. best: 208.66ops/s.
total: 4716.29 ± 0.39ms. best: 4715.80ms.
avg: 4.79 ± 0.00ms
min: 0.39 ± 0.00ms
max: 12.55 ± 0.01ms
p99: 8.16 ± 0.01ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 178.13 ± 0.02 ops/s. best: 178.17ops/s.
total: 5613.95 ± 0.76ms. best: 5612.76ms.
avg: 5.61 ± 0.00ms
min: 0.06 ± 0.00ms
max: 12.46 ± 0.01ms
p99: 10.51 ± 0.00ms

Peak RAM: 73.984MB
random_table_ch 250 tables, 3 coordinates
ops: 1108.41 ± 4.12 ops/s. best: 1111.98ops/s.
total: 225.55 ± 0.84ms. best: 224.82ms.
avg: 0.90 ± 0.00ms
min: 0.73 ± 0.00ms
max: 1.22 ± 0.07ms
p99: 1.13 ± 0.02ms

250 tables, 25 coordinates
ops: 124.54 ± 0.04 ops/s. best: 124.61ops/s.
total: 2007.40 ± 0.59ms. best: 2006.34ms.
avg: 8.03 ± 0.00ms
min: 7.31 ± 0.01ms
max: 8.70 ± 0.01ms
p99: 8.60 ± 0.01ms

250 tables, 50 coordinates
ops: 60.47 ± 0.01 ops/s. best: 60.47ops/s.
total: 4134.47 ± 0.54ms. best: 4133.96ms.
avg: 16.54 ± 0.00ms
min: 15.59 ± 0.01ms
max: 17.51 ± 0.01ms
p99: 17.40 ± 0.02ms

Peak RAM: 63.500MB
250 tables, 3 coordinates
ops: 1099.20 ± 3.78 ops/s. best: 1102.20ops/s.
total: 227.44 ± 0.79ms. best: 226.82ms.
avg: 0.91 ± 0.00ms
min: 0.74 ± 0.00ms
max: 1.23 ± 0.08ms
p99: 1.13 ± 0.01ms

250 tables, 25 coordinates
ops: 123.83 ± 0.04 ops/s. best: 123.90ops/s.
total: 2018.85 ± 0.64ms. best: 2017.77ms.
avg: 8.08 ± 0.00ms
min: 7.36 ± 0.01ms
max: 8.77 ± 0.01ms
p99: 8.64 ± 0.02ms

250 tables, 50 coordinates
ops: 60.20 ± 0.01 ops/s. best: 60.21ops/s.
total: 4153.10 ± 0.57ms. best: 4152.24ms.
avg: 16.61 ± 0.00ms
min: 15.65 ± 0.01ms
max: 17.59 ± 0.04ms
p99: 17.48 ± 0.02ms

Peak RAM: 63.500MB
random_table_mld 250 tables, 3 coordinates
ops: 229.81 ± 0.25 ops/s. best: 230.04ops/s.
total: 1087.88 ± 1.20ms. best: 1086.77ms.
avg: 4.35 ± 0.00ms
min: 3.44 ± 0.00ms
max: 5.67 ± 0.01ms
p99: 5.40 ± 0.08ms

250 tables, 25 coordinates
ops: 24.18 ± 0.00 ops/s. best: 24.19ops/s.
total: 10339.04 ± 1.82ms. best: 10335.80ms.
avg: 41.36 ± 0.01ms
min: 37.90 ± 0.14ms
max: 44.72 ± 0.02ms
p99: 44.32 ± 0.04ms

250 tables, 50 coordinates
ops: 11.23 ± 0.01 ops/s. best: 11.25ops/s.
total: 22262.78 ± 22.45ms. best: 22229.24ms.
avg: 89.05 ± 0.09ms
min: 84.67 ± 0.41ms
max: 94.09 ± 0.22ms
p99: 93.47 ± 0.28ms

Peak RAM: 63.312MB
250 tables, 3 coordinates
ops: 229.19 ± 0.28 ops/s. best: 229.44ops/s.
total: 1090.81 ± 1.38ms. best: 1089.60ms.
avg: 4.36 ± 0.01ms
min: 3.45 ± 0.00ms
max: 5.70 ± 0.05ms
p99: 5.39 ± 0.10ms

250 tables, 25 coordinates
ops: 24.11 ± 0.01 ops/s. best: 24.12ops/s.
total: 10369.22 ± 2.41ms. best: 10364.46ms.
avg: 41.48 ± 0.01ms
min: 38.05 ± 0.06ms
max: 44.90 ± 0.07ms
p99: 44.39 ± 0.02ms

250 tables, 50 coordinates
ops: 11.17 ± 0.01 ops/s. best: 11.19ops/s.
total: 22372.54 ± 17.46ms. best: 22348.40ms.
avg: 89.49 ± 0.07ms
min: 85.18 ± 0.30ms
max: 94.50 ± 0.17ms
p99: 93.82 ± 0.11ms

Peak RAM: 63.297MB
random_trip_ch 250 trips, 3 coordinates
ops: 329.78 ± 0.42 ops/s. best: 330.10ops/s.
total: 758.09 ± 0.97ms. best: 757.34ms.
avg: 3.03 ± 0.00ms
min: 1.63 ± 0.01ms
max: 4.36 ± 0.01ms
p99: 4.18 ± 0.00ms

250 trips, 5 coordinates
ops: 213.07 ± 0.04 ops/s. best: 213.11ops/s.
total: 1173.35 ± 0.24ms. best: 1173.08ms.
avg: 4.69 ± 0.00ms
min: 2.80 ± 0.01ms
max: 5.78 ± 0.01ms
p99: 5.62 ± 0.01ms

Peak RAM: 73.500MB
250 trips, 3 coordinates
ops: 328.38 ± 0.41 ops/s. best: 328.78ops/s.
total: 761.31 ± 0.95ms. best: 760.38ms.
avg: 3.05 ± 0.00ms
min: 1.63 ± 0.01ms
max: 4.40 ± 0.00ms
p99: 4.20 ± 0.01ms

250 trips, 5 coordinates
ops: 213.28 ± 0.06 ops/s. best: 213.34ops/s.
total: 1172.16 ± 0.30ms. best: 1171.84ms.
avg: 4.69 ± 0.00ms
min: 2.81 ± 0.01ms
max: 5.73 ± 0.01ms
p99: 5.61 ± 0.01ms

Peak RAM: 73.500MB
random_trip_mld 250 trips, 3 coordinates
ops: 109.62 ± 0.06 ops/s. best: 109.69ops/s.
total: 2280.61 ± 1.25ms. best: 2279.08ms.
avg: 9.12 ± 0.00ms
min: 5.27 ± 0.01ms
max: 12.02 ± 0.01ms
p99: 11.78 ± 0.01ms

250 trips, 5 coordinates
ops: 70.47 ± 0.01 ops/s. best: 70.48ops/s.
total: 3547.51 ± 0.46ms. best: 3546.92ms.
avg: 14.19 ± 0.00ms
min: 9.80 ± 0.01ms
max: 17.39 ± 0.02ms
p99: 16.96 ± 0.01ms

Peak RAM: 69.000MB
250 trips, 3 coordinates
ops: 108.94 ± 0.29 ops/s. best: 109.31ops/s.
total: 2294.85 ± 5.90ms. best: 2287.11ms.
avg: 9.18 ± 0.02ms
min: 5.27 ± 0.03ms
max: 12.18 ± 0.07ms
p99: 11.80 ± 0.07ms

250 trips, 5 coordinates
ops: 70.50 ± 0.03 ops/s. best: 70.54ops/s.
total: 3546.10 ± 1.72ms. best: 3544.16ms.
avg: 14.18 ± 0.01ms
min: 9.77 ± 0.01ms
max: 17.40 ± 0.02ms
p99: 16.96 ± 0.01ms

Peak RAM: 68.500MB
route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
639.377ms
0.639377ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
785.059ms
0.785059ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
247.509ms
0.247509ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
217.441ms
0.217441ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
639.361ms
0.639361ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
785.314ms
0.785314ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
248.063ms
0.248063ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
218.846ms
0.218846ms/req
route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
805.483ms
0.805483ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
1036.16ms
1.03616ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
415.033ms
0.415033ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
463.06ms
0.46306ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
824.225ms
0.824225ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
1064.69ms
1.06469ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
418.276ms
0.418276ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
467.021ms
0.467021ms/req
rtree 1 result:
226.946ms -> 0.0226946 ms/query
10 results:
257.774ms -> 0.0257774 ms/query
1 result:
227.9ms -> 0.02279 ms/query
10 results:
258.594ms -> 0.0258594 ms/query

@SiarheiFedartsou SiarheiFedartsou marked this pull request as ready for review November 3, 2024 15:29
@SiarheiFedartsou SiarheiFedartsou merged commit 3614af7 into master Nov 3, 2024
22 checks passed
@SiarheiFedartsou SiarheiFedartsou deleted the sf-string-view-json branch November 3, 2024 17:23
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