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::ranges::subrange instead of boost::iterator_range #7001

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

SiarheiFedartsou
Copy link
Member

@SiarheiFedartsou SiarheiFedartsou commented Jul 13, 2024

Benchmark Results

Benchmark Base PR
alias aliased u32: 1157.69
plain u32: 1143.3
aliased double: 1208.86
plain double: 1194.26
aliased u32: 1106.07
plain u32: 1098.67
aliased double: 964.023
plain double: 971.527
e2e_match_ch Ops: 43.84 ± 0.07 ops/s. Best: 43.91 ops/s
Total: 2988.23ms ± 4.41ms. Best: 2983.65ms
Min time: 2.15ms ± 0.04ms
Mean time: 22.81ms ± 0.03ms
Median time: 15.25ms ± 0.07ms
95th percentile: 74.59ms ± 0.43ms
99th percentile: 94.78ms ± 0.42ms
Max time: 106.61ms ± 0.44ms
Ops: 43.71 ± 0.07 ops/s. Best: 43.82 ops/s
Total: 2996.93ms ± 4.93ms. Best: 2989.72ms
Min time: 2.18ms ± 0.02ms
Mean time: 22.88ms ± 0.04ms
Median time: 14.99ms ± 0.11ms
95th percentile: 77.79ms ± 0.40ms
99th percentile: 95.26ms ± 0.35ms
Max time: 101.89ms ± 0.35ms
e2e_match_mld Ops: 63.10 ± 0.21 ops/s. Best: 63.41 ops/s
Total: 2076.11ms ± 6.90ms. Best: 2065.89ms
Min time: 1.76ms ± 0.02ms
Mean time: 15.85ms ± 0.05ms
Median time: 8.18ms ± 0.08ms
95th percentile: 52.61ms ± 0.30ms
99th percentile: 60.87ms ± 0.21ms
Max time: 69.87ms ± 0.68ms
Ops: 63.33 ± 0.18 ops/s. Best: 63.70 ops/s
Total: 2068.53ms ± 6.05ms. Best: 2056.45ms
Min time: 1.77ms ± 0.02ms
Mean time: 15.79ms ± 0.05ms
Median time: 8.21ms ± 0.13ms
95th percentile: 52.30ms ± 0.37ms
99th percentile: 60.62ms ± 0.32ms
Max time: 69.30ms ± 0.27ms
e2e_nearest_ch Ops: 862.25 ± 4.12 ops/s. Best: 868.87 ops/s
Total: 1159.69ms ± 5.58ms. Best: 1150.92ms
Min time: 0.99ms ± 0.00ms
Mean time: 1.16ms ± 0.01ms
Median time: 1.07ms ± 0.00ms
95th percentile: 1.61ms ± 0.00ms
99th percentile: 1.67ms ± 0.01ms
Max time: 6.47ms ± 3.21ms
Ops: 852.90 ± 2.43 ops/s. Best: 855.99 ops/s
Total: 1172.35ms ± 3.35ms. Best: 1168.24ms
Min time: 0.99ms ± 0.00ms
Mean time: 1.17ms ± 0.00ms
Median time: 1.08ms ± 0.00ms
95th percentile: 1.63ms ± 0.01ms
99th percentile: 1.69ms ± 0.01ms
Max time: 6.33ms ± 3.02ms
e2e_nearest_mld Ops: 865.97 ± 4.30 ops/s. Best: 874.19 ops/s
Total: 1154.90ms ± 6.20ms. Best: 1143.91ms
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.66ms ± 0.01ms
Max time: 5.87ms ± 2.72ms
Ops: 856.86 ± 3.55 ops/s. Best: 861.12 ops/s
Total: 1167.10ms ± 4.98ms. Best: 1161.28ms
Min time: 1.00ms ± 0.00ms
Mean time: 1.17ms ± 0.00ms
Median time: 1.08ms ± 0.00ms
95th percentile: 1.62ms ± 0.01ms
99th percentile: 1.68ms ± 0.02ms
Max time: 6.10ms ± 2.92ms
e2e_route_ch Ops: 358.52 ± 3.75 ops/s. Best: 362.61 ops/s
Total: 2790.72ms ± 29.11ms. Best: 2757.81ms
Min time: 1.20ms ± 0.01ms
Mean time: 2.79ms ± 0.03ms
Median time: 2.81ms ± 0.02ms
95th percentile: 3.70ms ± 0.05ms
99th percentile: 4.16ms ± 0.07ms
Max time: 6.87ms ± 2.32ms
Ops: 357.61 ± 4.58 ops/s. Best: 362.55 ops/s
Total: 2795.41ms ± 36.42ms. Best: 2758.22ms
Min time: 1.21ms ± 0.02ms
Mean time: 2.80ms ± 0.04ms
Median time: 2.81ms ± 0.03ms
95th percentile: 3.71ms ± 0.05ms
99th percentile: 4.16ms ± 0.05ms
Max time: 6.97ms ± 2.30ms
e2e_route_mld Ops: 293.21 ± 3.13 ops/s. Best: 297.60 ops/s
Total: 3410.91ms ± 38.57ms. Best: 3360.16ms
Min time: 1.20ms ± 0.01ms
Mean time: 3.41ms ± 0.04ms
Median time: 3.45ms ± 0.04ms
95th percentile: 4.74ms ± 0.06ms
99th percentile: 5.25ms ± 0.04ms
Max time: 7.94ms ± 2.46ms
Ops: 289.05 ± 4.37 ops/s. Best: 295.95 ops/s
Total: 3461.46ms ± 55.75ms. Best: 3378.98ms
Min time: 1.20ms ± 0.01ms
Mean time: 3.46ms ± 0.06ms
Median time: 3.51ms ± 0.06ms
95th percentile: 4.81ms ± 0.09ms
99th percentile: 5.34ms ± 0.12ms
Max time: 8.10ms ± 2.21ms
e2e_table_ch Ops: 319.31 ± 0.35 ops/s. Best: 319.91 ops/s
Total: 3131.72ms ± 3.71ms. Best: 3125.86ms
Min time: 1.64ms ± 0.02ms
Mean time: 3.13ms ± 0.00ms
Median time: 3.14ms ± 0.02ms
95th percentile: 4.34ms ± 0.01ms
99th percentile: 4.65ms ± 0.06ms
Max time: 8.30ms ± 2.27ms
Ops: 319.24 ± 1.25 ops/s. Best: 321.35 ops/s
Total: 3132.50ms ± 12.62ms. Best: 3111.88ms
Min time: 1.66ms ± 0.01ms
Mean time: 3.13ms ± 0.01ms
Median time: 3.13ms ± 0.02ms
95th percentile: 4.35ms ± 0.02ms
99th percentile: 4.69ms ± 0.09ms
Max time: 9.03ms ± 3.05ms
e2e_table_mld Ops: 108.22 ± 0.33 ops/s. Best: 108.60 ops/s
Total: 9240.61ms ± 29.94ms. Best: 9208.26ms
Min time: 3.69ms ± 0.07ms
Mean time: 9.24ms ± 0.03ms
Median time: 9.21ms ± 0.04ms
95th percentile: 14.11ms ± 0.05ms
99th percentile: 14.91ms ± 0.18ms
Max time: 17.87ms ± 2.66ms
Ops: 103.02 ± 0.33 ops/s. Best: 103.52 ops/s
Total: 9705.29ms ± 29.99ms. Best: 9659.71ms
Min time: 3.86ms ± 0.06ms
Mean time: 9.71ms ± 0.03ms
Median time: 9.66ms ± 0.03ms
95th percentile: 14.91ms ± 0.07ms
99th percentile: 15.68ms ± 0.06ms
Max time: 18.10ms ± 2.30ms
e2e_trip_ch Ops: 96.90 ± 0.55 ops/s. Best: 97.69 ops/s
Total: 10321.73ms ± 60.59ms. Best: 10236.53ms
Min time: 1.54ms ± 0.08ms
Mean time: 10.32ms ± 0.06ms
Median time: 9.78ms ± 0.09ms
95th percentile: 18.57ms ± 0.08ms
99th percentile: 20.41ms ± 0.26ms
Max time: 22.87ms ± 0.28ms
Ops: 95.74 ± 1.82 ops/s. Best: 98.67 ops/s
Total: 10447.48ms ± 212.08ms. Best: 10135.21ms
Min time: 1.60ms ± 0.12ms
Mean time: 10.45ms ± 0.22ms
Median time: 9.89ms ± 0.21ms
95th percentile: 18.75ms ± 0.29ms
99th percentile: 20.62ms ± 0.34ms
Max time: 22.52ms ± 0.62ms
e2e_trip_mld Ops: 57.37 ± 0.08 ops/s. Best: 57.47 ops/s
Total: 17433.03ms ± 25.59ms. Best: 17399.13ms
Min time: 1.68ms ± 0.19ms
Mean time: 17.43ms ± 0.03ms
Median time: 16.95ms ± 0.05ms
95th percentile: 28.54ms ± 0.09ms
99th percentile: 30.89ms ± 0.23ms
Max time: 33.07ms ± 0.36ms
Ops: 54.84 ± 0.96 ops/s. Best: 55.85 ops/s
Total: 18226.26ms ± 319.60ms. Best: 17905.94ms
Min time: 1.85ms ± 0.37ms
Mean time: 18.24ms ± 0.32ms
Median time: 17.74ms ± 0.33ms
95th percentile: 29.69ms ± 0.38ms
99th percentile: 31.94ms ± 0.35ms
Max time: 34.45ms ± 0.80ms
json-render String: 5.82668ms
Stringstream: 9.77523ms
Vector: 6.81334ms
String: 5.53689ms
Stringstream: 9.03804ms
Vector: 6.55214ms
match_ch Default radius:
4.65138ms/req at 82 coordinate
0.0567242ms/coordinate
Radius 10m:
16.2561ms/req at 82 coordinate
0.198246ms/coordinate
Default radius:
4.64358ms/req at 82 coordinate
0.056629ms/coordinate
Radius 10m:
16.1383ms/req at 82 coordinate
0.196809ms/coordinate
match_mld Default radius:
3.15273ms/req at 82 coordinate
0.0384479ms/coordinate
Radius 10m:
11.6989ms/req at 82 coordinate
0.142669ms/coordinate
Default radius:
2.9855ms/req at 82 coordinate
0.0364085ms/coordinate
Radius 10m:
11.1562ms/req at 82 coordinate
0.136051ms/coordinate
osrm_contract Time: 100.85s Peak RAM: 195.22MB Time: 99.47s Peak RAM: 195.98MB
osrm_customize Time: 1.30s Peak RAM: 117.83MB Time: 1.31s Peak RAM: 117.70MB
osrm_extract Time: 11.91s Peak RAM: 425.12MB Time: 12.08s Peak RAM: 429.72MB
osrm_partition Time: 2.14s Peak RAM: 142.94MB Time: 2.14s Peak RAM: 154.08MB
packedvector random write:
std::vector 11442.8 ms
util::packed_vector 74348.1 ms
slowdown: 6.49739
random read:
std::vector 11239.3 ms
util::packed_vector 30696.4 ms
slowdown: 2.73116
random write:
std::vector 11471.2 ms
util::packed_vector 73984.3 ms
slowdown: 6.44959
random read:
std::vector 11282.9 ms
util::packed_vector 30742.8 ms
slowdown: 2.72472
random_match_ch 500 matches, default radius
ops: 210.73 ± 0.79 ops/s. best: 211.76ops/s.
total: 270.49 ± 1.01ms. best: 269.17ms.
avg: 4.75 ± 0.02ms
min: 0.15 ± 0.01ms
max: 25.83 ± 0.10ms
p99: 25.83 ± 0.10ms

500 matches, radius=10
ops: 62.73 ± 0.24 ops/s. best: 63.22ops/s.
total: 1020.29 ± 3.86ms. best: 1012.38ms.
avg: 15.94 ± 0.06ms
min: 0.15 ± 0.00ms
max: 240.61 ± 1.45ms
p99: 240.61 ± 1.45ms

500 matches, radius=20
ops: 14.88 ± 0.06 ops/s. best: 14.96ops/s.
total: 4368.62 ± 16.23ms. best: 4343.74ms.
avg: 67.21 ± 0.25ms
min: 0.33 ± 0.01ms
max: 1222.85 ± 6.27ms
p99: 1222.85 ± 6.27ms
500 matches, default radius
ops: 207.83 ± 0.96 ops/s. best: 208.97ops/s.
total: 274.27 ± 1.28ms. best: 272.77ms.
avg: 4.81 ± 0.02ms
min: 0.15 ± 0.01ms
max: 25.86 ± 0.22ms
p99: 25.86 ± 0.22ms

500 matches, radius=10
ops: 62.32 ± 0.07 ops/s. best: 62.43ops/s.
total: 1026.96 ± 1.20ms. best: 1025.12ms.
avg: 16.05 ± 0.02ms
min: 0.15 ± 0.00ms
max: 242.85 ± 0.20ms
p99: 242.85 ± 0.20ms

500 matches, radius=20
ops: 14.85 ± 0.02 ops/s. best: 14.87ops/s.
total: 4378.35 ± 5.55ms. best: 4370.60ms.
avg: 67.36 ± 0.09ms
min: 0.34 ± 0.01ms
max: 1233.07 ± 2.49ms
p99: 1233.07 ± 2.49ms
random_match_mld 500 matches, default radius
ops: 298.92 ± 1.74 ops/s. best: 301.25ops/s.
total: 190.70 ± 1.11ms. best: 189.21ms.
avg: 3.35 ± 0.02ms
min: 0.12 ± 0.00ms
max: 19.25 ± 0.30ms
p99: 19.25 ± 0.30ms

500 matches, radius=10
ops: 106.56 ± 0.22 ops/s. best: 106.92ops/s.
total: 600.62 ± 1.21ms. best: 598.60ms.
avg: 9.38 ± 0.02ms
min: 0.14 ± 0.00ms
max: 111.14 ± 0.26ms
p99: 111.14 ± 0.26ms

500 matches, radius=20
ops: 21.68 ± 0.03 ops/s. best: 21.71ops/s.
total: 2997.97 ± 4.02ms. best: 2993.33ms.
avg: 46.12 ± 0.06ms
min: 0.20 ± 0.01ms
max: 581.66 ± 2.23ms
p99: 581.66 ± 2.23ms
500 matches, default radius
ops: 292.75 ± 1.14 ops/s. best: 294.31ops/s.
total: 194.71 ± 0.77ms. best: 193.67ms.
avg: 3.42 ± 0.01ms
min: 0.12 ± 0.01ms
max: 19.51 ± 0.06ms
p99: 19.51 ± 0.06ms

500 matches, radius=10
ops: 103.03 ± 0.21 ops/s. best: 103.29ops/s.
total: 621.17 ± 1.25ms. best: 619.61ms.
avg: 9.71 ± 0.02ms
min: 0.15 ± 0.00ms
max: 115.27 ± 0.46ms
p99: 115.27 ± 0.46ms

500 matches, radius=20
ops: 20.97 ± 0.03 ops/s. best: 21.01ops/s.
total: 3099.54 ± 3.72ms. best: 3094.36ms.
avg: 47.69 ± 0.06ms
min: 0.20 ± 0.00ms
max: 604.49 ± 2.13ms
p99: 604.49 ± 2.13ms
random_nearest_ch 10000 nearest, number_of_results=1
ops: 22896.01 ± 51.41 ops/s. best: 22954.85ops/s.
total: 436.76 ± 0.98ms. best: 435.64ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.04ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17437.45 ± 59.37 ops/s. best: 17523.07ops/s.
total: 573.49 ± 1.95ms. best: 570.68ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14123.95 ± 61.58 ops/s. best: 14194.27ops/s.
total: 708.03 ± 3.10ms. best: 704.51ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.19 ± 0.05ms
p99: 0.13 ± 0.00ms
10000 nearest, number_of_results=1
ops: 22945.59 ± 60.72 ops/s. best: 23027.99ops/s.
total: 435.82 ± 1.16ms. best: 434.25ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.04ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17773.52 ± 16.21 ops/s. best: 17797.96ops/s.
total: 562.64 ± 0.51ms. best: 561.86ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14338.43 ± 14.64 ops/s. best: 14371.98ops/s.
total: 697.43 ± 0.71ms. best: 695.80ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.16 ± 0.00ms
p99: 0.13 ± 0.00ms
random_nearest_mld 10000 nearest, number_of_results=1
ops: 22971.15 ± 42.04 ops/s. best: 23011.82ops/s.
total: 435.33 ± 0.80ms. best: 434.56ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.04ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17709.20 ± 17.74 ops/s. best: 17730.46ops/s.
total: 564.68 ± 0.57ms. best: 564.00ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.14 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14247.77 ± 25.26 ops/s. best: 14280.55ops/s.
total: 701.87 ± 1.28ms. best: 700.25ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.16 ± 0.01ms
p99: 0.13 ± 0.00ms
10000 nearest, number_of_results=1
ops: 23060.64 ± 45.01 ops/s. best: 23121.60ops/s.
total: 433.64 ± 0.85ms. best: 432.50ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.04ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=5
ops: 17813.87 ± 14.74 ops/s. best: 17838.41ops/s.
total: 561.36 ± 0.46ms. best: 560.59ms.
avg: 0.06 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.00ms
p99: 0.12 ± 0.00ms

10000 nearest, number_of_results=10
ops: 14336.42 ± 19.76 ops/s. best: 14375.44ops/s.
total: 697.53 ± 0.96ms. best: 695.63ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.16 ± 0.00ms
p99: 0.13 ± 0.00ms
random_route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 503.49 ± 4.90 ops/s. best: 509.78ops/s.
total: 1954.61 ± 19.18ms. best: 1930.24ms.
avg: 1.99 ± 0.02ms
min: 0.30 ± 0.01ms
max: 3.59 ± 0.28ms
p99: 2.91 ± 0.05ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 583.38 ± 2.27 ops/s. best: 586.95ops/s.
total: 1714.17 ± 6.51ms. best: 1703.71ms.
avg: 1.71 ± 0.01ms
min: 0.06 ± 0.00ms
max: 4.35 ± 0.21ms
p99: 3.77 ± 0.01ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 986.30 ± 6.17 ops/s. best: 993.41ops/s.
total: 997.71 ± 6.26ms. best: 990.53ms.
avg: 1.01 ± 0.01ms
min: 0.24 ± 0.01ms
max: 1.64 ± 0.07ms
p99: 1.46 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1081.18 ± 7.16 ops/s. best: 1092.94ops/s.
total: 924.97 ± 6.12ms. best: 914.97ms.
avg: 0.92 ± 0.01ms
min: 0.05 ± 0.00ms
max: 2.53 ± 0.03ms
p99: 2.17 ± 0.01ms
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 491.41 ± 6.28 ops/s. best: 500.22ops/s.
total: 2002.87 ± 25.72ms. best: 1967.13ms.
avg: 2.04 ± 0.03ms
min: 0.31 ± 0.01ms
max: 3.67 ± 0.27ms
p99: 3.01 ± 0.05ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 581.28 ± 2.57 ops/s. best: 585.23ops/s.
total: 1720.39 ± 7.52ms. best: 1708.74ms.
avg: 1.72 ± 0.01ms
min: 0.06 ± 0.00ms
max: 4.39 ± 0.04ms
p99: 3.78 ± 0.05ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 941.35 ± 16.07 ops/s. best: 957.90ops/s.
total: 1045.77 ± 18.31ms. best: 1027.24ms.
avg: 1.06 ± 0.02ms
min: 0.24 ± 0.00ms
max: 1.78 ± 0.04ms
p99: 1.56 ± 0.04ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1060.37 ± 6.75 ops/s. best: 1073.51ops/s.
total: 943.12 ± 5.98ms. best: 931.53ms.
avg: 0.94 ± 0.01ms
min: 0.04 ± 0.00ms
max: 2.83 ± 0.05ms
p99: 2.15 ± 0.02ms
random_route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 240.48 ± 1.83 ops/s. best: 244.51ops/s.
total: 4092.16 ± 30.91ms. best: 4024.38ms.
avg: 4.16 ± 0.03ms
min: 0.30 ± 0.01ms
max: 8.99 ± 0.13ms
p99: 7.04 ± 0.10ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 237.12 ± 0.88 ops/s. best: 238.34ops/s.
total: 4217.39 ± 15.71ms. best: 4195.62ms.
avg: 4.22 ± 0.02ms
min: 0.05 ± 0.00ms
max: 9.72 ± 0.26ms
p99: 8.66 ± 0.12ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 321.07 ± 3.64 ops/s. best: 326.41ops/s.
total: 3065.25 ± 34.84ms. best: 3014.65ms.
avg: 3.12 ± 0.04ms
min: 0.28 ± 0.00ms
max: 7.54 ± 0.22ms
p99: 5.43 ± 0.08ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 291.88 ± 2.06 ops/s. best: 294.79ops/s.
total: 3426.30 ± 24.37ms. best: 3392.25ms.
avg: 3.43 ± 0.02ms
min: 0.04 ± 0.00ms
max: 7.67 ± 0.24ms
p99: 6.86 ± 0.10ms
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 238.22 ± 1.50 ops/s. best: 240.00ops/s.
total: 4130.83 ± 26.11ms. best: 4100.03ms.
avg: 4.20 ± 0.03ms
min: 0.30 ± 0.01ms
max: 9.20 ± 0.27ms
p99: 7.02 ± 0.07ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 230.31 ± 1.03 ops/s. best: 232.39ops/s.
total: 4342.17 ± 19.36ms. best: 4303.11ms.
avg: 4.34 ± 0.02ms
min: 0.05 ± 0.01ms
max: 9.81 ± 0.14ms
p99: 8.95 ± 0.08ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 313.20 ± 3.26 ops/s. best: 316.61ops/s.
total: 3142.26 ± 32.85ms. best: 3107.95ms.
avg: 3.19 ± 0.03ms
min: 0.28 ± 0.00ms
max: 7.67 ± 0.21ms
p99: 5.44 ± 0.07ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 283.13 ± 1.79 ops/s. best: 285.92ops/s.
total: 3532.10 ± 22.33ms. best: 3497.47ms.
avg: 3.53 ± 0.02ms
min: 0.04 ± 0.00ms
max: 7.72 ± 0.23ms
p99: 7.07 ± 0.08ms
random_table_ch 250 tables, 3 coordinates
ops: 1425.16 ± 12.41 ops/s. best: 1437.93ops/s.
total: 175.44 ± 1.55ms. best: 173.86ms.
avg: 0.70 ± 0.01ms
min: 0.52 ± 0.01ms
max: 1.03 ± 0.29ms
p99: 0.85 ± 0.03ms

250 tables, 25 coordinates
ops: 168.42 ± 0.45 ops/s. best: 168.77ops/s.
total: 1484.37 ± 3.96ms. best: 1481.31ms.
avg: 5.94 ± 0.02ms
min: 5.32 ± 0.03ms
max: 7.02 ± 0.52ms
p99: 6.59 ± 0.20ms

250 tables, 50 coordinates
ops: 83.00 ± 0.09 ops/s. best: 83.09ops/s.
total: 3012.16 ± 3.12ms. best: 3008.62ms.
avg: 12.05 ± 0.01ms
min: 11.21 ± 0.04ms
max: 13.00 ± 0.08ms
p99: 12.80 ± 0.03ms
250 tables, 3 coordinates
ops: 1431.10 ± 11.87 ops/s. best: 1442.67ops/s.
total: 174.71 ± 1.46ms. best: 173.29ms.
avg: 0.70 ± 0.01ms
min: 0.56 ± 0.00ms
max: 1.04 ± 0.24ms
p99: 0.89 ± 0.04ms

250 tables, 25 coordinates
ops: 169.52 ± 0.19 ops/s. best: 169.78ops/s.
total: 1474.75 ± 1.79ms. best: 1472.53ms.
avg: 5.90 ± 0.01ms
min: 5.19 ± 0.01ms
max: 6.75 ± 0.29ms
p99: 6.46 ± 0.02ms

250 tables, 50 coordinates
ops: 83.36 ± 0.11 ops/s. best: 83.52ops/s.
total: 2999.16 ± 4.09ms. best: 2993.26ms.
avg: 12.00 ± 0.02ms
min: 11.10 ± 0.05ms
max: 13.10 ± 0.22ms
p99: 12.80 ± 0.04ms
random_table_mld 250 tables, 3 coordinates
ops: 331.80 ± 2.02 ops/s. best: 334.08ops/s.
total: 753.50 ± 4.61ms. best: 748.31ms.
avg: 3.01 ± 0.02ms
min: 2.51 ± 0.01ms
max: 3.93 ± 0.21ms
p99: 3.60 ± 0.08ms

250 tables, 25 coordinates
ops: 36.57 ± 0.05 ops/s. best: 36.63ops/s.
total: 6836.57 ± 10.02ms. best: 6824.96ms.
avg: 27.35 ± 0.04ms
min: 25.56 ± 0.10ms
max: 29.76 ± 0.23ms
p99: 29.43 ± 0.19ms

250 tables, 50 coordinates
ops: 17.29 ± 0.02 ops/s. best: 17.32ops/s.
total: 14463.03 ± 17.36ms. best: 14431.96ms.
avg: 57.85 ± 0.07ms
min: 55.34 ± 0.14ms
max: 62.84 ± 1.52ms
p99: 60.89 ± 0.56ms
250 tables, 3 coordinates
ops: 311.55 ± 1.34 ops/s. best: 312.87ops/s.
total: 802.46 ± 3.47ms. best: 799.06ms.
avg: 3.21 ± 0.01ms
min: 2.69 ± 0.02ms
max: 4.13 ± 0.21ms
p99: 3.88 ± 0.09ms

250 tables, 25 coordinates
ops: 34.59 ± 0.09 ops/s. best: 34.67ops/s.
total: 7227.94 ± 19.05ms. best: 7211.11ms.
avg: 28.91 ± 0.08ms
min: 27.12 ± 0.07ms
max: 32.21 ± 0.99ms
p99: 31.06 ± 0.13ms

250 tables, 50 coordinates
ops: 16.30 ± 0.07 ops/s. best: 16.39ops/s.
total: 15337.20 ± 64.80ms. best: 15248.79ms.
avg: 61.35 ± 0.26ms
min: 58.45 ± 0.18ms
max: 66.47 ± 1.30ms
p99: 64.96 ± 0.81ms
random_trip_ch 250 trips, 3 coordinates
ops: 488.76 ± 7.46 ops/s. best: 496.52ops/s.
total: 511.65 ± 7.89ms. best: 503.50ms.
avg: 2.05 ± 0.03ms
min: 1.18 ± 0.03ms
max: 2.96 ± 0.44ms
p99: 2.65 ± 0.11ms

250 trips, 5 coordinates
ops: 324.69 ± 1.12 ops/s. best: 326.53ops/s.
total: 769.98 ± 2.65ms. best: 765.62ms.
avg: 3.08 ± 0.01ms
min: 2.06 ± 0.01ms
max: 3.94 ± 0.07ms
p99: 3.83 ± 0.04ms
250 trips, 3 coordinates
ops: 456.71 ± 7.39 ops/s. best: 469.14ops/s.
total: 547.57 ± 8.83ms. best: 532.88ms.
avg: 2.19 ± 0.04ms
min: 1.23 ± 0.03ms
max: 3.21 ± 0.25ms
p99: 3.02 ± 0.17ms

250 trips, 5 coordinates
ops: 315.41 ± 1.93 ops/s. best: 317.49ops/s.
total: 792.67 ± 4.88ms. best: 787.43ms.
avg: 3.17 ± 0.02ms
min: 2.08 ± 0.02ms
max: 4.07 ± 0.13ms
p99: 3.90 ± 0.03ms
random_trip_mld 250 trips, 3 coordinates
ops: 163.91 ± 1.80 ops/s. best: 166.62ops/s.
total: 1525.42 ± 16.68ms. best: 1500.39ms.
avg: 6.10 ± 0.07ms
min: 3.66 ± 0.05ms
max: 8.82 ± 0.55ms
p99: 8.04 ± 0.22ms

250 trips, 5 coordinates
ops: 105.34 ± 0.56 ops/s. best: 106.36ops/s.
total: 2373.25 ± 12.55ms. best: 2350.47ms.
avg: 9.49 ± 0.05ms
min: 6.76 ± 0.02ms
max: 11.61 ± 0.06ms
p99: 11.34 ± 0.04ms
250 trips, 3 coordinates
ops: 158.80 ± 0.85 ops/s. best: 160.42ops/s.
total: 1574.33 ± 8.40ms. best: 1558.43ms.
avg: 6.30 ± 0.03ms
min: 3.79 ± 0.03ms
max: 8.58 ± 0.46ms
p99: 8.09 ± 0.10ms

250 trips, 5 coordinates
ops: 103.19 ± 0.63 ops/s. best: 104.08ops/s.
total: 2422.94 ± 14.86ms. best: 2401.92ms.
avg: 9.69 ± 0.06ms
min: 6.99 ± 0.04ms
max: 12.10 ± 0.24ms
p99: 11.59 ± 0.20ms
route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
429.222ms
0.429222ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
515.111ms
0.515111ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
149.566ms
0.149566ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
131.12ms
0.13112ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
429.234ms
0.429234ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
510.773ms
0.510773ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
148.042ms
0.148042ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
130.411ms
0.130411ms/req
route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
580.14ms
0.58014ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
731.533ms
0.731533ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
299.532ms
0.299532ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
335.896ms
0.335896ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
570.779ms
0.570779ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
716.445ms
0.716445ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
286.072ms
0.286072ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
314.645ms
0.314645ms/req
rtree 1 result:
194.013ms -> 0.0194013 ms/query
10 results:
229.216ms -> 0.0229216 ms/query
1 result:
197.804ms -> 0.0197804 ms/query
10 results:
234.64ms -> 0.023464 ms/query

@SiarheiFedartsou SiarheiFedartsou changed the title Use std::ranges::subrange instead of boost::iterator_range Use std::ranges::subrange instead of boost::iterator_range in some places Jul 13, 2024
@SiarheiFedartsou SiarheiFedartsou marked this pull request as ready for review July 13, 2024 17:24
@SiarheiFedartsou SiarheiFedartsou changed the title Use std::ranges::subrange instead of boost::iterator_range in some places Use std::ranges::subrange instead of boost::iterator_range Jul 14, 2024
@@ -205,73 +202,4 @@ BOOST_AUTO_TEST_CASE(packed_vector_33bit_continious)
}
}

BOOST_AUTO_TEST_CASE(packed_weights_container_with_type_erasure)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

std::ranges::* don't have anything like boost::any_range and we actually don't use anything like this, so this test seems to have no value

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.

1 participant