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

Use thread_local instead of boost::thread_specific_ptr #6991

Closed SiarheiFedartsou closed 2 months ago

SiarheiFedartsou commented 2 months ago

thread_local is around since C++11, so I think it is time to migrate...

Benchmark Results

| Benchmark | Base | PR | |-----------|------|----| | alias | aliased u32: 1142.61
plain u32: 1146.17
aliased double: 1185.75
plain double: 1206.55 | aliased u32: 1090.74
plain u32: 1088.88
aliased double: 953.745
plain double: 958.856 | | e2e_match_ch | Ops: 45.64 ± 0.05 ops/s. Best: 45.76 ops/s
Total: 2870.55ms ± 3.37ms. Best: 2862.67ms
Min time: 2.12ms ± 0.03ms
Mean time: 21.91ms ± 0.03ms
Median time: 16.97ms ± 0.10ms
95th percentile: 68.18ms ± 0.32ms
99th percentile: 85.82ms ± 0.59ms
Max time: 101.01ms ± 0.80ms | Ops: 42.96 ± 0.11 ops/s. Best: 43.10 ops/s
Total: 3049.31ms ± 7.90ms. Best: 3039.68ms
Min time: 2.14ms ± 0.04ms
Mean time: 23.28ms ± 0.06ms
Median time: 16.11ms ± 0.07ms
95th percentile: 78.11ms ± 0.33ms
99th percentile: 96.11ms ± 0.52ms
Max time: 100.98ms ± 1.66ms | | e2e_match_mld | Ops: 64.96 ± 0.12 ops/s. Best: 65.09 ops/s
Total: 2016.81ms ± 3.74ms. Best: 2012.53ms
Min time: 1.73ms ± 0.01ms
Mean time: 15.40ms ± 0.03ms
Median time: 8.13ms ± 0.12ms
95th percentile: 51.50ms ± 0.28ms
99th percentile: 59.76ms ± 0.05ms
Max time: 69.55ms ± 0.41ms | Ops: 64.84 ± 0.30 ops/s. Best: 65.10 ops/s
Total: 2020.56ms ± 9.37ms. Best: 2012.37ms
Min time: 1.71ms ± 0.03ms
Mean time: 15.42ms ± 0.07ms
Median time: 8.14ms ± 0.12ms
95th percentile: 51.45ms ± 0.29ms
99th percentile: 60.28ms ± 0.48ms
Max time: 69.88ms ± 0.18ms | | e2e_nearest_ch | Ops: 868.26 ± 3.53 ops/s. Best: 874.69 ops/s
Total: 1151.65ms ± 5.02ms. Best: 1143.26ms
Min time: 0.98ms ± 0.00ms
Mean time: 1.15ms ± 0.01ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.60ms ± 0.00ms
99th percentile: 1.65ms ± 0.01ms
Max time: 6.42ms ± 3.14ms | Ops: 869.78 ± 2.02 ops/s. Best: 874.97 ops/s
Total: 1149.67ms ± 2.67ms. Best: 1142.90ms
Min time: 0.98ms ± 0.00ms
Mean time: 1.15ms ± 0.00ms
Median time: 1.06ms ± 0.00ms
95th percentile: 1.60ms ± 0.00ms
99th percentile: 1.65ms ± 0.00ms
Max time: 5.83ms ± 2.65ms | | e2e_nearest_mld | Ops: 868.43 ± 3.68 ops/s. Best: 875.45 ops/s
Total: 1151.55ms ± 4.98ms. Best: 1142.27ms
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: 5.93ms ± 2.85ms | Ops: 863.92 ± 4.00 ops/s. Best: 869.55 ops/s
Total: 1157.61ms ± 5.55ms. Best: 1150.02ms
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.74ms ± 0.12ms
Max time: 6.61ms ± 2.24ms | | e2e_route_ch | Ops: 375.51 ± 1.25 ops/s. Best: 377.17 ops/s
Total: 2663.35ms ± 9.24ms. Best: 2651.29ms
Min time: 1.20ms ± 0.01ms
Mean time: 2.66ms ± 0.01ms
Median time: 2.67ms ± 0.01ms
95th percentile: 3.51ms ± 0.02ms
99th percentile: 3.95ms ± 0.05ms
Max time: 6.91ms ± 1.91ms | Ops: 372.92 ± 1.05 ops/s. Best: 374.24 ops/s
Total: 2681.69ms ± 8.06ms. Best: 2672.09ms
Min time: 1.19ms ± 0.01ms
Mean time: 2.68ms ± 0.01ms
Median time: 2.70ms ± 0.01ms
95th percentile: 3.54ms ± 0.00ms
99th percentile: 3.95ms ± 0.02ms
Max time: 6.44ms ± 2.09ms | | e2e_route_mld | Ops: 311.85 ± 0.62 ops/s. Best: 312.77 ops/s
Total: 3206.85ms ± 6.46ms. Best: 3197.25ms
Min time: 1.19ms ± 0.02ms
Mean time: 3.21ms ± 0.01ms
Median time: 3.24ms ± 0.01ms
95th percentile: 4.37ms ± 0.01ms
99th percentile: 4.86ms ± 0.07ms
Max time: 7.57ms ± 2.39ms | Ops: 313.70 ± 0.61 ops/s. Best: 314.72 ops/s
Total: 3187.95ms ± 6.22ms. Best: 3177.40ms
Min time: 1.17ms ± 0.02ms
Mean time: 3.19ms ± 0.01ms
Median time: 3.22ms ± 0.00ms
95th percentile: 4.34ms ± 0.02ms
99th percentile: 4.82ms ± 0.08ms
Max time: 7.50ms ± 2.11ms | | e2e_table_ch | Ops: 330.42 ± 0.75 ops/s. Best: 331.72 ops/s
Total: 3026.48ms ± 7.23ms. Best: 3014.56ms
Min time: 1.58ms ± 0.02ms
Mean time: 3.03ms ± 0.01ms
Median time: 3.03ms ± 0.01ms
95th percentile: 4.19ms ± 0.01ms
99th percentile: 4.53ms ± 0.05ms
Max time: 8.23ms ± 2.73ms | Ops: 310.12 ± 0.67 ops/s. Best: 311.18 ops/s
Total: 3224.63ms ± 7.25ms. Best: 3213.59ms
Min time: 1.61ms ± 0.03ms
Mean time: 3.22ms ± 0.01ms
Median time: 3.23ms ± 0.01ms
95th percentile: 4.49ms ± 0.01ms
99th percentile: 4.81ms ± 0.07ms
Max time: 8.21ms ± 2.40ms | | e2e_table_mld | Ops: 110.61 ± 0.79 ops/s. Best: 111.30 ops/s
Total: 9043.29ms ± 64.81ms. Best: 8984.79ms
Min time: 3.61ms ± 0.08ms
Mean time: 9.04ms ± 0.07ms
Median time: 9.00ms ± 0.05ms
95th percentile: 13.85ms ± 0.11ms
99th percentile: 14.54ms ± 0.16ms
Max time: 18.00ms ± 3.04ms | Ops: 108.01 ± 1.61 ops/s. Best: 110.14 ops/s
Total: 9256.30ms ± 137.77ms. Best: 9079.73ms
Min time: 3.70ms ± 0.07ms
Mean time: 9.26ms ± 0.14ms
Median time: 9.19ms ± 0.15ms
95th percentile: 14.18ms ± 0.25ms
99th percentile: 15.08ms ± 0.33ms
Max time: 21.85ms ± 4.43ms | | e2e_trip_ch | Ops: 101.80 ± 0.92 ops/s. Best: 103.32 ops/s
Total: 9821.88ms ± 95.90ms. Best: 9678.62ms
Min time: 1.41ms ± 0.12ms
Mean time: 9.82ms ± 0.10ms
Median time: 9.24ms ± 0.09ms
95th percentile: 17.94ms ± 0.19ms
99th percentile: 19.79ms ± 0.16ms
Max time: 26.61ms ± 8.27ms | Ops: 99.94 ± 0.22 ops/s. Best: 100.24 ops/s
Total: 10006.06ms ± 22.37ms. Best: 9975.77ms
Min time: 1.42ms ± 0.11ms
Mean time: 10.01ms ± 0.02ms
Median time: 9.48ms ± 0.05ms
95th percentile: 18.09ms ± 0.06ms
99th percentile: 19.95ms ± 0.14ms
Max time: 22.77ms ± 1.81ms | | e2e_trip_mld | Ops: 59.46 ± 0.11 ops/s. Best: 59.71 ops/s
Total: 16818.29ms ± 30.89ms. Best: 16746.72ms
Min time: 1.59ms ± 0.22ms
Mean time: 16.82ms ± 0.03ms
Median time: 16.27ms ± 0.06ms
95th percentile: 28.08ms ± 0.17ms
99th percentile: 30.32ms ± 0.17ms
Max time: 33.64ms ± 1.91ms | Ops: 59.73 ± 0.18 ops/s. Best: 59.92 ops/s
Total: 16742.63ms ± 52.64ms. Best: 16689.55ms
Min time: 1.71ms ± 0.35ms
Mean time: 16.74ms ± 0.05ms
Median time: 16.22ms ± 0.05ms
95th percentile: 27.57ms ± 0.07ms
99th percentile: 29.82ms ± 0.19ms
Max time: 31.56ms ± 0.37ms | | json-render | String: 5.71713ms
Stringstream: 8.93022ms
Vector: 6.56137ms | String: 5.4581ms
Stringstream: 8.89542ms
Vector: 6.49337ms | | match_ch | Default radius:
4.65956ms/req at 82 coordinate
0.0568239ms/coordinate
Radius 10m:
16.2371ms/req at 82 coordinate
0.198013ms/coordinate | Default radius:
4.6245ms/req at 82 coordinate
0.0563964ms/coordinate
Radius 10m:
16.1586ms/req at 82 coordinate
0.197057ms/coordinate | | match_mld | Default radius:
3.18988ms/req at 82 coordinate
0.038901ms/coordinate
Radius 10m:
11.227ms/req at 82 coordinate
0.136915ms/coordinate | Default radius:
3.24031ms/req at 82 coordinate
0.0395159ms/coordinate
Radius 10m:
11.0623ms/req at 82 coordinate
0.134906ms/coordinate | | osrm_contract | Time: 97.56s Peak RAM: 202.13MB | Time: 101.06s Peak RAM: 202.07MB | | osrm_customize | Time: 1.30s Peak RAM: 117.68MB | Time: 1.30s Peak RAM: 117.67MB | | osrm_extract | Time: 11.68s Peak RAM: 428.15MB | Time: 11.82s Peak RAM: 426.12MB | | osrm_partition | Time: 2.06s Peak RAM: 141.54MB | Time: 2.09s Peak RAM: 144.05MB | | packedvector | random write:
std::vector 9864.96 ms
util::packed_vector 73725.2 ms
slowdown: 7.47344
random read:
std::vector 8460.18 ms
util::packed_vector 30595.9 ms
slowdown: 3.61646 | random write:
std::vector 11231.2 ms
util::packed_vector 73728.2 ms
slowdown: 6.56456
random read:
std::vector 11057.5 ms
util::packed_vector 29803.4 ms
slowdown: 2.6953 | | random_match_ch | 500 matches, default radius
ops: 202.57 ± 0.72 ops/s. best: 203.53ops/s.
total: 281.39 ± 1.00ms. best: 280.06ms.
avg: 4.94 ± 0.02ms
min: 0.14 ± 0.01ms
max: 26.52 ± 0.07ms
p99: 26.52 ± 0.07ms

500 matches, radius=10
ops: 59.74 ± 0.06 ops/s. best: 59.80ops/s.
total: 1071.40 ± 1.07ms. best: 1070.30ms.
avg: 16.74 ± 0.02ms
min: 0.15 ± 0.00ms
max: 262.10 ± 0.18ms
p99: 262.10 ± 0.18ms

500 matches, radius=20
ops: 14.23 ± 0.02 ops/s. best: 14.26ops/s.
total: 4566.61 ± 7.31ms. best: 4558.03ms.
avg: 70.26 ± 0.11ms
min: 0.31 ± 0.00ms
max: 1331.49 ± 2.68ms
p99: 1331.49 ± 2.68ms | 500 matches, default radius
ops: 206.01 ± 1.03 ops/s. best: 207.30ops/s.
total: 276.70 ± 1.38ms. best: 274.97ms.
avg: 4.85 ± 0.02ms
min: 0.15 ± 0.01ms
max: 24.34 ± 0.08ms
p99: 24.34 ± 0.08ms

500 matches, radius=10
ops: 61.48 ± 0.13 ops/s. best: 61.70ops/s.
total: 1041.03 ± 2.17ms. best: 1037.32ms.
avg: 16.27 ± 0.03ms
min: 0.15 ± 0.00ms
max: 236.40 ± 0.65ms
p99: 236.40 ± 0.65ms

500 matches, radius=20
ops: 14.86 ± 0.03 ops/s. best: 14.91ops/s.
total: 4373.09 ± 9.43ms. best: 4358.28ms.
avg: 67.28 ± 0.15ms
min: 0.33 ± 0.01ms
max: 1183.28 ± 3.38ms
p99: 1183.28 ± 3.38ms | | random_match_mld | 500 matches, default radius
ops: 305.64 ± 1.65 ops/s. best: 307.32ops/s.
total: 186.50 ± 1.01ms. best: 185.48ms.
avg: 3.27 ± 0.02ms
min: 0.13 ± 0.00ms
max: 19.05 ± 0.08ms
p99: 19.05 ± 0.08ms

500 matches, radius=10
ops: 108.59 ± 0.31 ops/s. best: 109.12ops/s.
total: 589.36 ± 1.71ms. best: 586.50ms.
avg: 9.21 ± 0.03ms
min: 0.14 ± 0.00ms
max: 110.55 ± 0.39ms
p99: 110.55 ± 0.39ms

500 matches, radius=20
ops: 22.23 ± 0.03 ops/s. best: 22.27ops/s.
total: 2923.39 ± 3.46ms. best: 2918.25ms.
avg: 44.98 ± 0.05ms
min: 0.19 ± 0.00ms
max: 573.51 ± 1.35ms
p99: 573.51 ± 1.35ms | 500 matches, default radius
ops: 301.85 ± 7.99 ops/s. best: 309.90ops/s.
total: 189.02 ± 5.08ms. best: 183.93ms.
avg: 3.32 ± 0.09ms
min: 0.13 ± 0.01ms
max: 19.12 ± 0.38ms
p99: 19.12 ± 0.38ms

500 matches, radius=10
ops: 108.66 ± 0.17 ops/s. best: 108.91ops/s.
total: 589.02 ± 0.91ms. best: 587.62ms.
avg: 9.20 ± 0.01ms
min: 0.14 ± 0.00ms
max: 110.31 ± 0.36ms
p99: 110.31 ± 0.36ms

500 matches, radius=20
ops: 22.04 ± 0.03 ops/s. best: 22.07ops/s.
total: 2949.73 ± 3.42ms. best: 2945.23ms.
avg: 45.38 ± 0.05ms
min: 0.19 ± 0.00ms
max: 580.59 ± 2.14ms
p99: 580.59 ± 2.14ms | | random_nearest_ch | 10000 nearest, number_of_results=1
ops: 24615.48 ± 108.02 ops/s. best: 24728.63ops/s.
total: 406.26 ± 1.82ms. best: 404.39ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.16 ± 0.04ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 19093.29 ± 20.76 ops/s. best: 19113.96ops/s.
total: 523.75 ± 0.57ms. best: 523.18ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.17 ± 0.03ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 15201.70 ± 32.76 ops/s. best: 15252.09ops/s.
total: 657.83 ± 1.42ms. best: 655.65ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms | 10000 nearest, number_of_results=1
ops: 24697.71 ± 63.72 ops/s. best: 24758.86ops/s.
total: 404.90 ± 1.06ms. best: 403.90ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.17 ± 0.04ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 19025.35 ± 35.16 ops/s. best: 19070.55ops/s.
total: 525.62 ± 0.97ms. best: 524.37ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.19 ± 0.06ms
p99: 0.11 ± 0.00ms

10000 nearest, number_of_results=10
ops: 15007.56 ± 14.13 ops/s. best: 15033.68ops/s.
total: 666.33 ± 0.63ms. best: 665.17ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms | | random_nearest_mld | 10000 nearest, number_of_results=1
ops: 24965.54 ± 73.31 ops/s. best: 25062.08ops/s.
total: 400.56 ± 1.18ms. best: 399.01ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.17 ± 0.05ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 19323.36 ± 19.69 ops/s. best: 19348.38ops/s.
total: 517.51 ± 0.52ms. best: 516.84ms.
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: 15293.87 ± 10.73 ops/s. best: 15307.57ops/s.
total: 653.86 ± 0.46ms. best: 653.27ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms | 10000 nearest, number_of_results=1
ops: 24693.53 ± 49.78 ops/s. best: 24733.90ops/s.
total: 404.97 ± 0.82ms. best: 404.30ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.17 ± 0.04ms
p99: 0.10 ± 0.00ms

10000 nearest, number_of_results=5
ops: 19095.61 ± 14.07 ops/s. best: 19121.13ops/s.
total: 523.68 ± 0.39ms. best: 522.98ms.
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: 15044.17 ± 41.33 ops/s. best: 15082.45ops/s.
total: 664.72 ± 1.83ms. best: 663.02ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.01ms
p99: 0.13 ± 0.00ms | | random_route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 536.97 ± 3.73 ops/s. best: 544.30ops/s.
total: 1832.63 ± 12.90ms. best: 1807.83ms.
avg: 1.86 ± 0.01ms
min: 0.31 ± 0.00ms
max: 3.38 ± 0.30ms
p99: 2.72 ± 0.03ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 589.67 ± 11.06 ops/s. best: 606.03ops/s.
total: 1696.69 ± 31.79ms. best: 1650.08ms.
avg: 1.70 ± 0.03ms
min: 0.06 ± 0.00ms
max: 5.69 ± 1.63ms
p99: 3.78 ± 0.17ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 1073.54 ± 3.04 ops/s. best: 1079.22ops/s.
total: 916.61 ± 2.59ms. best: 911.77ms.
avg: 0.93 ± 0.00ms
min: 0.24 ± 0.00ms
max: 1.72 ± 0.26ms
p99: 1.35 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1121.52 ± 1.77 ops/s. best: 1124.56ops/s.
total: 891.65 ± 1.42ms. best: 889.23ms.
avg: 0.89 ± 0.00ms
min: 0.04 ± 0.00ms
max: 2.75 ± 0.04ms
p99: 1.89 ± 0.03ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 510.10 ± 3.20 ops/s. best: 514.23ops/s.
total: 1929.13 ± 12.15ms. best: 1913.54ms.
avg: 1.96 ± 0.01ms
min: 0.32 ± 0.00ms
max: 4.33 ± 1.33ms
p99: 2.91 ± 0.15ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 582.23 ± 3.38 ops/s. best: 587.65ops/s.
total: 1717.62 ± 9.97ms. best: 1701.69ms.
avg: 1.72 ± 0.01ms
min: 0.06 ± 0.00ms
max: 6.12 ± 0.05ms
p99: 4.03 ± 0.10ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 975.31 ± 3.23 ops/s. best: 979.14ops/s.
total: 1008.93 ± 3.34ms. best: 1004.96ms.
avg: 1.03 ± 0.00ms
min: 0.26 ± 0.00ms
max: 1.58 ± 0.01ms
p99: 1.43 ± 0.02ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1043.16 ± 5.54 ops/s. best: 1048.11ops/s.
total: 958.66 ± 5.12ms. best: 954.09ms.
avg: 0.96 ± 0.01ms
min: 0.04 ± 0.00ms
max: 5.23 ± 0.02ms
p99: 2.64 ± 0.00ms | | random_route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 251.72 ± 2.80 ops/s. best: 255.35ops/s.
total: 3909.77 ± 43.76ms. best: 3853.57ms.
avg: 3.97 ± 0.04ms
min: 0.31 ± 0.00ms
max: 10.36 ± 2.07ms
p99: 6.74 ± 0.18ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 233.39 ± 2.15 ops/s. best: 237.47ops/s.
total: 4285.13 ± 39.16ms. best: 4211.03ms.
avg: 4.29 ± 0.04ms
min: 0.05 ± 0.00ms
max: 10.06 ± 0.40ms
p99: 8.77 ± 0.11ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 316.53 ± 1.95 ops/s. best: 319.55ops/s.
total: 3108.88 ± 19.22ms. best: 3079.33ms.
avg: 3.16 ± 0.02ms
min: 0.29 ± 0.00ms
max: 7.64 ± 0.16ms
p99: 5.39 ± 0.07ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 279.93 ± 1.71 ops/s. best: 283.68ops/s.
total: 3572.56 ± 21.75ms. best: 3525.05ms.
avg: 3.57 ± 0.02ms
min: 0.04 ± 0.00ms
max: 7.99 ± 0.33ms
p99: 7.03 ± 0.08ms | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
ops: 253.65 ± 2.00 ops/s. best: 256.90ops/s.
total: 3879.69 ± 31.67ms. best: 3830.33ms.
avg: 3.94 ± 0.03ms
min: 0.31 ± 0.00ms
max: 8.65 ± 0.19ms
p99: 6.63 ± 0.04ms

1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 243.67 ± 1.78 ops/s. best: 246.47ops/s.
total: 4104.17 ± 29.82ms. best: 4057.28ms.
avg: 4.10 ± 0.03ms
min: 0.05 ± 0.00ms
max: 11.18 ± 2.12ms
p99: 8.39 ± 0.14ms

1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 328.91 ± 4.38 ops/s. best: 333.65ops/s.
total: 2992.42 ± 40.37ms. best: 2949.16ms.
avg: 3.04 ± 0.04ms
min: 0.29 ± 0.00ms
max: 7.37 ± 0.12ms
p99: 5.26 ± 0.11ms

1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 302.31 ± 1.89 ops/s. best: 305.79ops/s.
total: 3308.07 ± 21.82ms. best: 3270.19ms.
avg: 3.31 ± 0.02ms
min: 0.04 ± 0.00ms
max: 7.31 ± 0.20ms
p99: 6.51 ± 0.04ms | | random_table_ch | 250 tables, 3 coordinates
ops: 1478.95 ± 9.96 ops/s. best: 1488.47ops/s.
total: 169.05 ± 1.15ms. best: 167.96ms.
avg: 0.68 ± 0.00ms
min: 0.46 ± 0.00ms
max: 0.98 ± 0.18ms
p99: 0.85 ± 0.02ms

250 tables, 25 coordinates
ops: 175.10 ± 1.33 ops/s. best: 176.44ops/s.
total: 1427.86 ± 10.95ms. best: 1416.93ms.
avg: 5.71 ± 0.04ms
min: 4.87 ± 0.02ms
max: 8.33 ± 2.65ms
p99: 7.13 ± 1.42ms

250 tables, 50 coordinates
ops: 86.36 ± 0.09 ops/s. best: 86.50ops/s.
total: 2894.82 ± 3.24ms. best: 2890.08ms.
avg: 11.58 ± 0.01ms
min: 10.56 ± 0.03ms
max: 12.94 ± 0.20ms
p99: 12.43 ± 0.07ms | 250 tables, 3 coordinates
ops: 1357.03 ± 9.37 ops/s. best: 1364.46ops/s.
total: 184.24 ± 1.29ms. best: 183.22ms.
avg: 0.74 ± 0.01ms
min: 0.52 ± 0.01ms
max: 1.14 ± 0.28ms
p99: 0.89 ± 0.03ms

250 tables, 25 coordinates
ops: 159.13 ± 0.14 ops/s. best: 159.49ops/s.
total: 1571.08 ± 1.37ms. best: 1567.53ms.
avg: 6.28 ± 0.01ms
min: 5.76 ± 0.02ms
max: 7.15 ± 0.28ms
p99: 6.78 ± 0.01ms

250 tables, 50 coordinates
ops: 78.75 ± 0.10 ops/s. best: 78.94ops/s.
total: 3174.56 ± 3.90ms. best: 3167.05ms.
avg: 12.70 ± 0.02ms
min: 11.98 ± 0.04ms
max: 13.78 ± 0.17ms
p99: 13.46 ± 0.04ms | | random_table_mld | 250 tables, 3 coordinates
ops: 337.44 ± 1.22 ops/s. best: 339.01ops/s.
total: 740.88 ± 2.69ms. best: 737.45ms.
avg: 2.96 ± 0.01ms
min: 2.49 ± 0.00ms
max: 3.82 ± 0.17ms
p99: 3.53 ± 0.06ms

250 tables, 25 coordinates
ops: 37.27 ± 0.24 ops/s. best: 37.59ops/s.
total: 6707.69 ± 43.67ms. best: 6649.91ms.
avg: 26.83 ± 0.17ms
min: 25.10 ± 0.08ms
max: 32.73 ± 5.42ms
p99: 29.02 ± 0.68ms

250 tables, 50 coordinates
ops: 17.72 ± 0.03 ops/s. best: 17.75ops/s.
total: 14109.22 ± 23.54ms. best: 14082.37ms.
avg: 56.44 ± 0.09ms
min: 54.31 ± 0.10ms
max: 60.66 ± 1.79ms
p99: 58.82 ± 0.16ms | 250 tables, 3 coordinates
ops: 336.25 ± 0.61 ops/s. best: 336.94ops/s.
total: 743.50 ± 1.35ms. best: 741.96ms.
avg: 2.97 ± 0.01ms
min: 2.51 ± 0.02ms
max: 3.83 ± 0.14ms
p99: 3.53 ± 0.05ms

250 tables, 25 coordinates
ops: 37.20 ± 0.04 ops/s. best: 37.27ops/s.
total: 6720.93 ± 8.11ms. best: 6707.74ms.
avg: 26.88 ± 0.03ms
min: 25.32 ± 0.05ms
max: 30.62 ± 1.60ms
p99: 28.72 ± 0.26ms

250 tables, 50 coordinates
ops: 17.62 ± 0.03 ops/s. best: 17.67ops/s.
total: 14190.56 ± 22.90ms. best: 14145.27ms.
avg: 56.76 ± 0.09ms
min: 54.68 ± 0.11ms
max: 68.64 ± 9.16ms
p99: 59.57 ± 0.45ms | | random_trip_ch | 250 trips, 3 coordinates
ops: 508.30 ± 4.56 ops/s. best: 513.47ops/s.
total: 491.89 ± 4.43ms. best: 486.89ms.
avg: 1.97 ± 0.02ms
min: 1.13 ± 0.02ms
max: 2.74 ± 0.32ms
p99: 2.51 ± 0.06ms

250 trips, 5 coordinates
ops: 340.85 ± 2.33 ops/s. best: 343.96ops/s.
total: 733.50 ± 5.16ms. best: 726.83ms.
avg: 2.93 ± 0.02ms
min: 1.94 ± 0.02ms
max: 3.68 ± 0.12ms
p99: 3.52 ± 0.04ms | 250 trips, 3 coordinates
ops: 487.89 ± 4.18 ops/s. best: 491.66ops/s.
total: 512.47 ± 4.45ms. best: 508.48ms.
avg: 2.05 ± 0.02ms
min: 1.15 ± 0.00ms
max: 2.94 ± 0.35ms
p99: 2.60 ± 0.06ms

250 trips, 5 coordinates
ops: 322.56 ± 0.61 ops/s. best: 323.37ops/s.
total: 775.05 ± 1.49ms. best: 773.10ms.
avg: 3.10 ± 0.01ms
min: 2.10 ± 0.01ms
max: 3.78 ± 0.06ms
p99: 3.68 ± 0.01ms | | random_trip_mld | 250 trips, 3 coordinates
ops: 172.88 ± 0.43 ops/s. best: 173.52ops/s.
total: 1446.06 ± 3.56ms. best: 1440.73ms.
avg: 5.78 ± 0.01ms
min: 3.49 ± 0.01ms
max: 7.75 ± 0.50ms
p99: 7.34 ± 0.12ms

250 trips, 5 coordinates
ops: 112.35 ± 0.63 ops/s. best: 113.24ops/s.
total: 2225.29 ± 12.60ms. best: 2207.69ms.
avg: 8.90 ± 0.05ms
min: 6.50 ± 0.03ms
max: 11.08 ± 0.50ms
p99: 10.45 ± 0.11ms | 250 trips, 3 coordinates
ops: 173.41 ± 0.24 ops/s. best: 173.68ops/s.
total: 1441.68 ± 1.96ms. best: 1439.41ms.
avg: 5.77 ± 0.01ms
min: 3.47 ± 0.01ms
max: 7.91 ± 0.48ms
p99: 7.31 ± 0.05ms

250 trips, 5 coordinates
ops: 112.42 ± 0.18 ops/s. best: 112.64ops/s.
total: 2223.81 ± 3.50ms. best: 2219.48ms.
avg: 8.90 ± 0.01ms
min: 6.49 ± 0.02ms
max: 10.99 ± 0.14ms
p99: 10.53 ± 0.10ms | | route_ch | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
431.831ms
0.431831ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
507.752ms
0.507752ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
147.776ms
0.147776ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
129.69ms
0.12969ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
421.788ms
0.421788ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
502.985ms
0.502985ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
147.417ms
0.147417ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
130.211ms
0.130211ms/req | | route_mld | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
568.226ms
0.568226ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
712.655ms
0.712655ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
287.806ms
0.287806ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
315.79ms
0.31579ms/req | 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
568.564ms
0.568564ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
707.363ms
0.707363ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
293.448ms
0.293448ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
317.714ms
0.317714ms/req | | rtree | 1 result:
198.709ms -> 0.0198709 ms/query
10 results:
234.142ms -> 0.0234142 ms/query | 1 result:
198.262ms -> 0.0198262 ms/query
10 results:
233.757ms -> 0.0233757 ms/query |