-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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 Link Time Optimisation whenever possible #6967
Conversation
@@ -31,7 +31,7 @@ RUN NPROC=${BUILD_CONCURRENCY:-$(nproc)} && \ | |||
case ${DOCKER_TAG} in *"-debug"*) BUILD_TYPE="Debug";; esac && \ | |||
case ${DOCKER_TAG} in *"-assertions"*) BUILD_TYPE="RelWithDebInfo" && ENABLE_ASSERTIONS="On" && BUILD_TOOLS="On";; esac && \ | |||
echo "Building ${BUILD_TYPE} with ENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} BUILD_TOOLS=${BUILD_TOOLS}" && \ | |||
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_ASSERTIONS=${ENABLE_ASSERTIONS} -DBUILD_TOOLS=${BUILD_TOOLS} -DENABLE_LTO=On && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alpine cannot build it with LTO: it was always like this. We just had no error if LTO is not available before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. How about making it the default? The few platforms that don't support it may disable it explicitly. Or is LTO support still not widespread enough?
Well, "few platforms" in our case is ~50% of our CI jobs if I remember correctly 😄 But in general we indeed can make it default and just disable it on jobs where it doesn't work yet - in general it should be possible to make it working anywhere... |
4baaae3
to
071926e
Compare
Initially I wanted to enable it by default, but I faced a lot of issues while trying to make it working on all CI jobs, so I decided to enable it only on "release" jobs, i.e. ones which produce NodeJS binaries + on benchmarks job.
Benchmark Results
plain u32: 1082.19
aliased double: 1082.65
plain double: 1140.65
plain u32: 1056.07
aliased double: 932.948
plain double: 894.062
Total: 2778.84ms ± 8.56ms. Best: 2763.82ms
Min time: 2.05ms ± 0.05ms
Mean time: 21.21ms ± 0.07ms
Median time: 16.20ms ± 0.14ms
95th percentile: 68.12ms ± 0.76ms
99th percentile: 83.23ms ± 0.41ms
Max time: 92.18ms ± 1.00ms
Total: 2774.40ms ± 9.48ms. Best: 2755.36ms
Min time: 2.10ms ± 0.06ms
Mean time: 21.18ms ± 0.07ms
Median time: 16.83ms ± 0.15ms
95th percentile: 68.03ms ± 0.61ms
99th percentile: 81.90ms ± 0.97ms
Max time: 88.16ms ± 1.65ms
Total: 2083.78ms ± 7.47ms. Best: 2068.19ms
Min time: 1.74ms ± 0.06ms
Mean time: 15.90ms ± 0.06ms
Median time: 8.26ms ± 0.11ms
95th percentile: 52.69ms ± 0.50ms
99th percentile: 60.03ms ± 0.64ms
Max time: 70.17ms ± 1.00ms
Total: 1961.62ms ± 6.80ms. Best: 1954.98ms
Min time: 1.74ms ± 0.03ms
Mean time: 14.98ms ± 0.05ms
Median time: 8.04ms ± 0.08ms
95th percentile: 49.47ms ± 0.44ms
99th percentile: 56.92ms ± 0.82ms
Max time: 67.10ms ± 0.96ms
Total: 1218.44ms ± 10.82ms. Best: 1206.79ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.22ms ± 0.01ms
Median time: 1.14ms ± 0.01ms
95th percentile: 1.63ms ± 0.01ms
99th percentile: 1.68ms ± 0.02ms
Max time: 3.86ms ± 2.10ms
Total: 1209.43ms ± 14.51ms. Best: 1186.54ms
Min time: 0.98ms ± 0.01ms
Mean time: 1.21ms ± 0.02ms
Median time: 1.13ms ± 0.01ms
95th percentile: 1.61ms ± 0.01ms
99th percentile: 1.67ms ± 0.02ms
Max time: 3.90ms ± 2.11ms
Total: 1223.57ms ± 9.25ms. Best: 1208.63ms
Min time: 0.99ms ± 0.01ms
Mean time: 1.22ms ± 0.01ms
Median time: 1.14ms ± 0.01ms
95th percentile: 1.63ms ± 0.01ms
99th percentile: 1.69ms ± 0.02ms
Max time: 4.14ms ± 2.43ms
Total: 1222.30ms ± 4.78ms. Best: 1213.66ms
Min time: 0.99ms ± 0.01ms
Mean time: 1.22ms ± 0.00ms
Median time: 1.14ms ± 0.01ms
95th percentile: 1.62ms ± 0.01ms
99th percentile: 1.68ms ± 0.00ms
Max time: 4.31ms ± 2.51ms
Total: 2770.47ms ± 26.48ms. Best: 2718.32ms
Min time: 1.21ms ± 0.02ms
Mean time: 2.77ms ± 0.03ms
Median time: 2.79ms ± 0.03ms
95th percentile: 3.66ms ± 0.03ms
99th percentile: 4.04ms ± 0.05ms
Max time: 6.25ms ± 1.84ms
Total: 2724.57ms ± 13.26ms. Best: 2696.53ms
Min time: 1.21ms ± 0.04ms
Mean time: 2.72ms ± 0.01ms
Median time: 2.74ms ± 0.02ms
95th percentile: 3.60ms ± 0.04ms
99th percentile: 3.97ms ± 0.05ms
Max time: 6.23ms ± 1.75ms
Total: 3286.29ms ± 16.18ms. Best: 3267.85ms
Min time: 1.23ms ± 0.03ms
Mean time: 3.29ms ± 0.02ms
Median time: 3.32ms ± 0.02ms
95th percentile: 4.46ms ± 0.01ms
99th percentile: 4.91ms ± 0.05ms
Max time: 7.37ms ± 1.92ms
Total: 3248.62ms ± 11.85ms. Best: 3232.49ms
Min time: 1.22ms ± 0.02ms
Mean time: 3.25ms ± 0.01ms
Median time: 3.28ms ± 0.02ms
95th percentile: 4.41ms ± 0.02ms
99th percentile: 4.82ms ± 0.04ms
Max time: 7.01ms ± 1.59ms
Total: 3165.47ms ± 15.98ms. Best: 3139.54ms
Min time: 1.60ms ± 0.04ms
Mean time: 3.17ms ± 0.02ms
Median time: 3.16ms ± 0.02ms
95th percentile: 4.38ms ± 0.03ms
99th percentile: 4.72ms ± 0.06ms
Max time: 7.38ms ± 2.61ms
Total: 3145.81ms ± 11.64ms. Best: 3126.67ms
Min time: 1.59ms ± 0.02ms
Mean time: 3.15ms ± 0.01ms
Median time: 3.15ms ± 0.01ms
95th percentile: 4.35ms ± 0.03ms
99th percentile: 4.70ms ± 0.04ms
Max time: 6.98ms ± 2.24ms
Total: 8685.42ms ± 22.88ms. Best: 8647.75ms
Min time: 3.42ms ± 0.08ms
Mean time: 8.69ms ± 0.02ms
Median time: 8.65ms ± 0.04ms
95th percentile: 13.34ms ± 0.07ms
99th percentile: 14.14ms ± 0.10ms
Max time: 16.26ms ± 1.41ms
Total: 8589.06ms ± 14.89ms. Best: 8560.37ms
Min time: 3.46ms ± 0.11ms
Mean time: 8.59ms ± 0.01ms
Median time: 8.54ms ± 0.04ms
95th percentile: 13.13ms ± 0.06ms
99th percentile: 14.02ms ± 0.10ms
Max time: 16.17ms ± 1.62ms
Total: 9859.95ms ± 12.83ms. Best: 9844.99ms
Min time: 1.52ms ± 0.16ms
Mean time: 9.86ms ± 0.01ms
Median time: 9.33ms ± 0.03ms
95th percentile: 17.57ms ± 0.08ms
99th percentile: 19.33ms ± 0.11ms
Max time: 20.81ms ± 0.07ms
Total: 9625.91ms ± 22.50ms. Best: 9587.11ms
Min time: 1.46ms ± 0.11ms
Mean time: 9.63ms ± 0.02ms
Median time: 9.12ms ± 0.02ms
95th percentile: 17.25ms ± 0.05ms
99th percentile: 18.60ms ± 0.09ms
Max time: 19.82ms ± 0.17ms
Total: 16313.46ms ± 42.77ms. Best: 16240.65ms
Min time: 1.57ms ± 0.19ms
Mean time: 16.32ms ± 0.04ms
Median time: 15.88ms ± 0.03ms
95th percentile: 26.90ms ± 0.08ms
99th percentile: 28.67ms ± 0.17ms
Max time: 32.02ms ± 1.85ms
Total: 15974.19ms ± 75.13ms. Best: 15880.60ms
Min time: 1.45ms ± 0.17ms
Mean time: 15.97ms ± 0.08ms
Median time: 15.55ms ± 0.12ms
95th percentile: 26.33ms ± 0.15ms
99th percentile: 27.81ms ± 0.21ms
Max time: 31.13ms ± 2.15ms
Stringstream: 9.76474ms
Vector: 6.06719ms
Stringstream: 9.39139ms
Vector: 6.26933ms
4.43682ms/req at 82 coordinate
0.0541076ms/coordinate
Radius 10m:
15.8013ms/req at 82 coordinate
0.192699ms/coordinate
4.45801ms/req at 82 coordinate
0.054366ms/coordinate
Radius 10m:
15.2671ms/req at 82 coordinate
0.186184ms/coordinate
3.30351ms/req at 82 coordinate
0.0402867ms/coordinate
Radius 10m:
11.2358ms/req at 82 coordinate
0.137022ms/coordinate
2.96238ms/req at 82 coordinate
0.0361265ms/coordinate
Radius 10m:
10.9574ms/req at 82 coordinate
0.133627ms/coordinate
std::vector 9571.13 ms
util::packed_vector 79499.5 ms
slowdown: 8.30618
random read:
std::vector 8173.47 ms
util::packed_vector 32434.6 ms
slowdown: 3.96828
std::vector 10507.4 ms
util::packed_vector 71922.8 ms
slowdown: 6.84494
random read:
std::vector 10770.4 ms
util::packed_vector 29695.8 ms
slowdown: 2.75717
ops: 226.34 ± 1.30 ops/s. best: 228.35ops/s.
total: 251.84 ± 1.45ms. best: 249.62ms.
avg: 4.42 ± 0.03ms
min: 0.15 ± 0.01ms
max: 24.66 ± 0.27ms
p99: 24.66 ± 0.27ms
500 matches, radius=10
ops: 68.15 ± 0.47 ops/s. best: 69.28ops/s.
total: 939.17 ± 6.47ms. best: 923.76ms.
avg: 14.67 ± 0.10ms
min: 0.15 ± 0.01ms
max: 234.98 ± 1.20ms
p99: 234.98 ± 1.20ms
500 matches, radius=20
ops: 16.17 ± 0.08 ops/s. best: 16.30ops/s.
total: 4019.82 ± 19.25ms. best: 3988.19ms.
avg: 61.84 ± 0.30ms
min: 0.28 ± 0.01ms
max: 1178.49 ± 5.37ms
p99: 1178.49 ± 5.37ms
ops: 224.90 ± 1.86 ops/s. best: 227.81ops/s.
total: 253.46 ± 2.07ms. best: 250.21ms.
avg: 4.45 ± 0.04ms
min: 0.15 ± 0.01ms
max: 23.12 ± 0.33ms
p99: 23.12 ± 0.33ms
500 matches, radius=10
ops: 66.61 ± 0.41 ops/s. best: 67.42ops/s.
total: 960.81 ± 5.84ms. best: 949.29ms.
avg: 15.01 ± 0.09ms
min: 0.16 ± 0.01ms
max: 226.33 ± 1.48ms
p99: 226.33 ± 1.48ms
500 matches, radius=20
ops: 15.99 ± 0.05 ops/s. best: 16.09ops/s.
total: 4064.89 ± 12.91ms. best: 4040.73ms.
avg: 62.54 ± 0.20ms
min: 0.31 ± 0.01ms
max: 1158.33 ± 4.72ms
p99: 1158.33 ± 4.72ms
ops: 309.82 ± 1.95 ops/s. best: 312.38ops/s.
total: 183.99 ± 1.16ms. best: 182.47ms.
avg: 3.23 ± 0.02ms
min: 0.14 ± 0.00ms
max: 19.06 ± 0.36ms
p99: 19.06 ± 0.36ms
500 matches, radius=10
ops: 108.02 ± 0.46 ops/s. best: 108.68ops/s.
total: 592.49 ± 2.57ms. best: 588.87ms.
avg: 9.26 ± 0.04ms
min: 0.15 ± 0.00ms
max: 112.71 ± 1.70ms
p99: 112.71 ± 1.70ms
500 matches, radius=20
ops: 21.59 ± 0.08 ops/s. best: 21.70ops/s.
total: 3011.35 ± 11.74ms. best: 2995.48ms.
avg: 46.33 ± 0.18ms
min: 0.20 ± 0.01ms
max: 595.87 ± 5.77ms
p99: 595.87 ± 5.77ms
ops: 321.06 ± 4.74 ops/s. best: 330.48ops/s.
total: 177.58 ± 2.60ms. best: 172.48ms.
avg: 3.12 ± 0.05ms
min: 0.14 ± 0.00ms
max: 18.41 ± 0.34ms
p99: 18.41 ± 0.34ms
500 matches, radius=10
ops: 115.17 ± 0.97 ops/s. best: 116.44ops/s.
total: 555.76 ± 4.70ms. best: 549.62ms.
avg: 8.68 ± 0.07ms
min: 0.15 ± 0.01ms
max: 106.49 ± 0.61ms
p99: 106.49 ± 0.61ms
500 matches, radius=20
ops: 23.08 ± 0.09 ops/s. best: 23.24ops/s.
total: 2815.81 ± 11.29ms. best: 2796.56ms.
avg: 43.32 ± 0.17ms
min: 0.19 ± 0.01ms
max: 556.04 ± 2.87ms
p99: 556.04 ± 2.87ms
ops: 24506.51 ± 186.30 ops/s. best: 24713.49ops/s.
total: 408.08 ± 3.09ms. best: 404.64ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms
10000 nearest, number_of_results=5
ops: 18932.33 ± 169.82 ops/s. best: 19136.38ops/s.
total: 528.26 ± 4.73ms. best: 522.56ms.
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: 14995.26 ± 50.54 ops/s. best: 15063.96ops/s.
total: 666.89 ± 2.25ms. best: 663.84ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms
ops: 24366.64 ± 158.51 ops/s. best: 24610.10ops/s.
total: 410.42 ± 2.68ms. best: 406.34ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms
10000 nearest, number_of_results=5
ops: 18956.11 ± 153.19 ops/s. best: 19201.78ops/s.
total: 527.58 ± 4.25ms. best: 520.79ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.01ms
p99: 0.11 ± 0.00ms
10000 nearest, number_of_results=10
ops: 15267.55 ± 100.47 ops/s. best: 15462.02ops/s.
total: 655.03 ± 4.30ms. best: 646.75ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms
ops: 24436.26 ± 268.31 ops/s. best: 24922.99ops/s.
total: 409.29 ± 4.48ms. best: 401.24ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms
10000 nearest, number_of_results=5
ops: 19089.23 ± 67.90 ops/s. best: 19200.42ops/s.
total: 523.86 ± 1.89ms. best: 520.82ms.
avg: 0.05 ± 0.00ms
min: 0.02 ± 0.00ms
max: 0.15 ± 0.01ms
p99: 0.11 ± 0.00ms
10000 nearest, number_of_results=10
ops: 15126.00 ± 100.06 ops/s. best: 15265.11ops/s.
total: 661.15 ± 4.39ms. best: 655.09ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms
ops: 24422.63 ± 271.63 ops/s. best: 24776.17ops/s.
total: 409.52 ± 4.57ms. best: 403.61ms.
avg: 0.04 ± 0.00ms
min: 0.01 ± 0.00ms
max: 0.15 ± 0.02ms
p99: 0.10 ± 0.00ms
10000 nearest, number_of_results=5
ops: 18712.77 ± 95.51 ops/s. best: 18818.73ops/s.
total: 534.41 ± 2.71ms. best: 531.39ms.
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: 15009.78 ± 169.28 ops/s. best: 15338.43ops/s.
total: 666.33 ± 6.94ms. best: 651.96ms.
avg: 0.07 ± 0.00ms
min: 0.03 ± 0.00ms
max: 0.18 ± 0.00ms
p99: 0.13 ± 0.00ms
ops: 546.90 ± 1.36 ops/s. best: 549.11ops/s.
total: 1799.26 ± 4.46ms. best: 1792.00ms.
avg: 1.83 ± 0.00ms
min: 0.31 ± 0.01ms
max: 3.08 ± 0.18ms
p99: 2.66 ± 0.01ms
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 642.95 ± 2.89 ops/s. best: 647.50ops/s.
total: 1555.37 ± 6.97ms. best: 1544.41ms.
avg: 1.56 ± 0.01ms
min: 0.05 ± 0.00ms
max: 4.49 ± 0.08ms
p99: 3.35 ± 0.02ms
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 1114.95 ± 6.97 ops/s. best: 1129.87ops/s.
total: 882.60 ± 5.48ms. best: 870.90ms.
avg: 0.90 ± 0.01ms
min: 0.22 ± 0.01ms
max: 1.39 ± 0.03ms
p99: 1.26 ± 0.01ms
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1234.30 ± 2.73 ops/s. best: 1237.89ops/s.
total: 810.18 ± 1.79ms. best: 807.83ms.
avg: 0.81 ± 0.00ms
min: 0.04 ± 0.00ms
max: 3.66 ± 0.07ms
p99: 2.00 ± 0.01ms
ops: 553.86 ± 6.04 ops/s. best: 559.60ops/s.
total: 1776.93 ± 19.96ms. best: 1758.39ms.
avg: 1.81 ± 0.02ms
min: 0.31 ± 0.01ms
max: 3.05 ± 0.23ms
p99: 2.62 ± 0.07ms
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 629.17 ± 1.68 ops/s. best: 631.46ops/s.
total: 1589.41 ± 4.23ms. best: 1583.63ms.
avg: 1.59 ± 0.00ms
min: 0.05 ± 0.00ms
max: 3.75 ± 0.07ms
p99: 3.49 ± 0.02ms
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 1090.58 ± 7.65 ops/s. best: 1105.79ops/s.
total: 902.33 ± 6.28ms. best: 889.86ms.
avg: 0.92 ± 0.01ms
min: 0.22 ± 0.01ms
max: 1.45 ± 0.01ms
p99: 1.29 ± 0.02ms
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 1154.01 ± 7.73 ops/s. best: 1163.73ops/s.
total: 866.60 ± 5.83ms. best: 859.31ms.
avg: 0.87 ± 0.01ms
min: 0.04 ± 0.00ms
max: 2.26 ± 0.13ms
p99: 2.08 ± 0.01ms
ops: 268.52 ± 1.44 ops/s. best: 271.62ops/s.
total: 3664.63 ± 19.52ms. best: 3622.76ms.
avg: 3.72 ± 0.02ms
min: 0.32 ± 0.01ms
max: 8.24 ± 0.14ms
p99: 6.25 ± 0.09ms
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 263.66 ± 0.78 ops/s. best: 265.56ops/s.
total: 3792.76 ± 11.09ms. best: 3765.58ms.
avg: 3.79 ± 0.01ms
min: 0.05 ± 0.00ms
max: 8.56 ± 0.12ms
p99: 7.69 ± 0.06ms
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 356.70 ± 2.63 ops/s. best: 359.75ops/s.
total: 2758.84 ± 20.45ms. best: 2735.21ms.
avg: 2.80 ± 0.02ms
min: 0.28 ± 0.00ms
max: 6.99 ± 0.09ms
p99: 4.90 ± 0.05ms
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 326.53 ± 0.76 ops/s. best: 327.50ops/s.
total: 3062.50 ± 7.02ms. best: 3053.48ms.
avg: 3.06 ± 0.01ms
min: 0.04 ± 0.00ms
max: 6.90 ± 0.24ms
p99: 6.09 ± 0.04ms
ops: 272.13 ± 2.02 ops/s. best: 275.16ops/s.
total: 3616.16 ± 27.03ms. best: 3576.14ms.
avg: 3.67 ± 0.03ms
min: 0.32 ± 0.01ms
max: 8.12 ± 0.18ms
p99: 6.12 ± 0.07ms
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
ops: 266.38 ± 1.41 ops/s. best: 269.33ops/s.
total: 3754.22 ± 19.78ms. best: 3712.96ms.
avg: 3.75 ± 0.02ms
min: 0.05 ± 0.00ms
max: 8.50 ± 0.08ms
p99: 7.50 ± 0.09ms
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
ops: 357.49 ± 1.74 ops/s. best: 361.34ops/s.
total: 2752.58 ± 13.31ms. best: 2723.19ms.
avg: 2.80 ± 0.01ms
min: 0.28 ± 0.00ms
max: 6.79 ± 0.15ms
p99: 4.80 ± 0.06ms
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
ops: 328.97 ± 2.90 ops/s. best: 333.07ops/s.
total: 3040.06 ± 26.72ms. best: 3002.38ms.
avg: 3.04 ± 0.03ms
min: 0.04 ± 0.00ms
max: 6.66 ± 0.09ms
p99: 5.98 ± 0.07ms
ops: 1511.47 ± 28.35 ops/s. best: 1558.59ops/s.
total: 165.46 ± 3.07ms. best: 160.40ms.
avg: 0.66 ± 0.01ms
min: 0.43 ± 0.01ms
max: 1.00 ± 0.28ms
p99: 0.82 ± 0.03ms
250 tables, 25 coordinates
ops: 179.77 ± 1.15 ops/s. best: 181.91ops/s.
total: 1390.74 ± 8.84ms. best: 1374.32ms.
avg: 5.56 ± 0.04ms
min: 4.82 ± 0.06ms
max: 6.22 ± 0.06ms
p99: 6.14 ± 0.04ms
250 tables, 50 coordinates
ops: 88.14 ± 0.69 ops/s. best: 89.11ops/s.
total: 2836.59 ± 22.28ms. best: 2805.54ms.
avg: 11.35 ± 0.09ms
min: 10.20 ± 0.18ms
max: 12.50 ± 0.14ms
p99: 12.29 ± 0.06ms
ops: 1480.31 ± 12.95 ops/s. best: 1501.85ops/s.
total: 168.90 ± 1.47ms. best: 166.46ms.
avg: 0.68 ± 0.01ms
min: 0.48 ± 0.02ms
max: 1.01 ± 0.21ms
p99: 0.84 ± 0.02ms
250 tables, 25 coordinates
ops: 176.25 ± 1.67 ops/s. best: 178.16ops/s.
total: 1418.63 ± 13.36ms. best: 1403.20ms.
avg: 5.67 ± 0.05ms
min: 4.97 ± 0.10ms
max: 6.67 ± 0.30ms
p99: 6.29 ± 0.02ms
250 tables, 50 coordinates
ops: 86.19 ± 0.62 ops/s. best: 86.96ops/s.
total: 2900.64 ± 20.85ms. best: 2874.94ms.
avg: 11.60 ± 0.08ms
min: 10.47 ± 0.11ms
max: 12.71 ± 0.08ms
p99: 12.52 ± 0.12ms
ops: 360.27 ± 2.99 ops/s. best: 364.79ops/s.
total: 693.99 ± 5.76ms. best: 685.33ms.
avg: 2.78 ± 0.02ms
min: 2.14 ± 0.03ms
max: 3.82 ± 0.07ms
p99: 3.69 ± 0.05ms
250 tables, 25 coordinates
ops: 39.35 ± 0.15 ops/s. best: 39.65ops/s.
total: 6352.76 ± 23.40ms. best: 6304.84ms.
avg: 25.41 ± 0.09ms
min: 22.52 ± 0.18ms
max: 29.19 ± 0.26ms
p99: 28.23 ± 0.10ms
250 tables, 50 coordinates
ops: 18.44 ± 0.06 ops/s. best: 18.52ops/s.
total: 13554.23 ± 42.49ms. best: 13495.54ms.
avg: 54.22 ± 0.17ms
min: 49.45 ± 0.36ms
max: 59.04 ± 0.23ms
p99: 58.27 ± 0.20ms
ops: 356.20 ± 0.37 ops/s. best: 356.63ops/s.
total: 701.85 ± 0.74ms. best: 701.01ms.
avg: 2.81 ± 0.00ms
min: 2.25 ± 0.01ms
max: 3.86 ± 0.05ms
p99: 3.70 ± 0.04ms
250 tables, 25 coordinates
ops: 39.72 ± 0.21 ops/s. best: 39.96ops/s.
total: 6294.00 ± 34.77ms. best: 6255.54ms.
avg: 25.18 ± 0.14ms
min: 22.24 ± 0.19ms
max: 30.52 ± 2.89ms
p99: 28.12 ± 0.47ms
250 tables, 50 coordinates
ops: 18.63 ± 0.05 ops/s. best: 18.70ops/s.
total: 13422.07 ± 34.56ms. best: 13368.11ms.
avg: 53.69 ± 0.14ms
min: 49.07 ± 0.64ms
max: 58.04 ± 0.17ms
p99: 57.69 ± 0.13ms
ops: 515.21 ± 5.41 ops/s. best: 522.62ops/s.
total: 485.31 ± 5.42ms. best: 478.36ms.
avg: 1.94 ± 0.02ms
min: 1.19 ± 0.01ms
max: 2.76 ± 0.44ms
p99: 2.49 ± 0.08ms
250 trips, 5 coordinates
ops: 343.53 ± 3.94 ops/s. best: 349.74ops/s.
total: 727.84 ± 8.30ms. best: 714.82ms.
avg: 2.91 ± 0.03ms
min: 1.93 ± 0.03ms
max: 3.63 ± 0.06ms
p99: 3.55 ± 0.04ms
ops: 520.06 ± 2.80 ops/s. best: 524.81ops/s.
total: 480.73 ± 2.54ms. best: 476.36ms.
avg: 1.92 ± 0.01ms
min: 1.15 ± 0.04ms
max: 2.87 ± 0.40ms
p99: 2.43 ± 0.06ms
250 trips, 5 coordinates
ops: 352.60 ± 4.02 ops/s. best: 357.92ops/s.
total: 709.14 ± 8.75ms. best: 698.47ms.
avg: 2.84 ± 0.03ms
min: 1.82 ± 0.05ms
max: 3.53 ± 0.06ms
p99: 3.44 ± 0.02ms
ops: 183.22 ± 1.02 ops/s. best: 184.58ops/s.
total: 1364.50 ± 8.05ms. best: 1354.43ms.
avg: 5.46 ± 0.03ms
min: 3.56 ± 0.07ms
max: 7.27 ± 0.30ms
p99: 7.01 ± 0.05ms
250 trips, 5 coordinates
ops: 119.34 ± 1.03 ops/s. best: 121.06ops/s.
total: 2094.99 ± 18.13ms. best: 2065.08ms.
avg: 8.38 ± 0.07ms
min: 5.99 ± 0.11ms
max: 10.53 ± 0.13ms
p99: 10.16 ± 0.03ms
ops: 184.51 ± 1.59 ops/s. best: 187.13ops/s.
total: 1355.04 ± 11.61ms. best: 1335.97ms.
avg: 5.42 ± 0.05ms
min: 3.57 ± 0.03ms
max: 8.10 ± 0.81ms
p99: 7.39 ± 0.69ms
250 trips, 5 coordinates
ops: 121.14 ± 0.66 ops/s. best: 122.07ops/s.
total: 2063.85 ± 11.39ms. best: 2048.02ms.
avg: 8.26 ± 0.05ms
min: 5.95 ± 0.03ms
max: 10.05 ± 0.20ms
p99: 9.82 ± 0.10ms
434.115ms
0.434115ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
514.962ms
0.514962ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
154.627ms
0.154627ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
139.31ms
0.13931ms/req
393.181ms
0.393181ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
483.857ms
0.483857ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
143.004ms
0.143004ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
123.922ms
0.123922ms/req
571.928ms
0.571928ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
719.58ms
0.71958ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
269.484ms
0.269484ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
302.036ms
0.302036ms/req
541.252ms
0.541252ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
671.912ms
0.671912ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
254.037ms
0.254037ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
281.222ms
0.281222ms/req
197.485ms -> 0.0197485 ms/query
10 results:
232.122ms -> 0.0232122 ms/query
190.984ms -> 0.0190984 ms/query
10 results:
230.932ms -> 0.0230932 ms/query