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

Replace boost::filesystem with std #6432

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

Conversation

DennisOSRM
Copy link
Collaborator

@DennisOSRM DennisOSRM commented Oct 30, 2022

Resurrection of a previous PR from ~2 yrs ago that was blocked on a compiler upgrade.

Benchmark Results

Benchmark Base PR
alias aliased u32: 1089.65
plain u32: 1087.91
aliased double: 963.679
plain double: 962.802
aliased u32: 1089.01
plain u32: 1093.82
aliased double: 962.377
plain double: 956.899
json-render String: 8.46076ms
Stringstream: 11.6858ms
Vector: 7.66888ms
String: 8.62233ms
Stringstream: 11.7569ms
Vector: 7.7118ms
match_ch Default radius:
4.47151ms/req at 82 coordinate
0.0545306ms/coordinate
Radius 5m:
4.45286ms/req at 82 coordinate
0.0543031ms/coordinate
Radius 10m:
15.1403ms/req at 82 coordinate
0.184638ms/coordinate
Radius 15m:
36.9694ms/req at 82 coordinate
0.450847ms/coordinate
Radius 30m:
315.368ms/req at 82 coordinate
3.84595ms/coordinate
Default radius:
4.49078ms/req at 82 coordinate
0.0547656ms/coordinate
Radius 5m:
4.49052ms/req at 82 coordinate
0.0547624ms/coordinate
Radius 10m:
15.2351ms/req at 82 coordinate
0.185794ms/coordinate
Radius 15m:
37.1662ms/req at 82 coordinate
0.453246ms/coordinate
Radius 30m:
315.437ms/req at 82 coordinate
3.84679ms/coordinate
match_mld Default radius:
2.94119ms/req at 82 coordinate
0.0358681ms/coordinate
Radius 5m:
3.26114ms/req at 82 coordinate
0.03977ms/coordinate
Radius 10m:
10.9364ms/req at 82 coordinate
0.133371ms/coordinate
Radius 15m:
27.9802ms/req at 82 coordinate
0.341222ms/coordinate
Radius 30m:
331.116ms/req at 82 coordinate
4.03799ms/coordinate
Default radius:
2.83339ms/req at 82 coordinate
0.0345536ms/coordinate
Radius 5m:
2.83079ms/req at 82 coordinate
0.0345218ms/coordinate
Radius 10m:
10.3599ms/req at 82 coordinate
0.12634ms/coordinate
Radius 15m:
25.9734ms/req at 82 coordinate
0.316749ms/coordinate
Radius 30m:
299.645ms/req at 82 coordinate
3.6542ms/coordinate
packedvector random write:
std::vector 9823.04 ms
util::packed_vector 82359.3 ms
slowdown: 8.38429
random read:
std::vector 8519.47 ms
util::packed_vector 33362.3 ms
slowdown: 3.916
random write:
std::vector 9912.57 ms
util::packed_vector 73792.8 ms
slowdown: 7.44437
random read:
std::vector 8508.7 ms
util::packed_vector 30196.2 ms
slowdown: 3.54886
route_ch 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
598.553ms
0.598553ms/req
1000 routes, 2 coordinates, no alternatives, overview=full, steps=true
378.586ms
0.378586ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
764.351ms
0.764351ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
161.861ms
0.161861ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false
103.95ms
0.10395ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
145.823ms
0.145823ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false, radius=750
161.608ms
0.161608ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false, radius=750
103.568ms
0.103568ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false, radius=750
145.599ms
0.145599ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
589.92ms
0.58992ms/req
1000 routes, 2 coordinates, no alternatives, overview=full, steps=true
370.227ms
0.370227ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
752.07ms
0.75207ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
152.335ms
0.152335ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false
97.7158ms
0.0977158ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
133.888ms
0.133888ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false, radius=750
151.086ms
0.151086ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false, radius=750
97.6042ms
0.0976042ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false, radius=750
133.351ms
0.133351ms/req
route_mld 1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
740.518ms
0.740518ms/req
1000 routes, 2 coordinates, no alternatives, overview=full, steps=true
468.627ms
0.468627ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
963.735ms
0.963735ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
292.92ms
0.29292ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false
166.974ms
0.166974ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
311.381ms
0.311381ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false, radius=750
290.684ms
0.290684ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false, radius=750
167.217ms
0.167217ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false, radius=750
313.79ms
0.31379ms/req
1000 routes, 3 coordinates, no alternatives, overview=full, steps=true
716.298ms
0.716298ms/req
1000 routes, 2 coordinates, no alternatives, overview=full, steps=true
461.057ms
0.461057ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=full, steps=true
935.529ms
0.935529ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false
273.687ms
0.273687ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false
163.129ms
0.163129ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false
288.431ms
0.288431ms/req
1000 routes, 3 coordinates, no alternatives, overview=false, steps=false, radius=750
265.643ms
0.265643ms/req
1000 routes, 2 coordinates, no alternatives, overview=false, steps=false, radius=750
161.073ms
0.161073ms/req
1000 routes, 2 coordinates, 3 alternatives, overview=false, steps=false, radius=750
288.16ms
0.28816ms/req
rtree 1 result:
206.73ms -> 0.020673 ms/query
10 results:
241.908ms -> 0.0241908 ms/query
1 result:
206.902ms -> 0.0206902 ms/query
10 results:
242.702ms -> 0.0242702 ms/query

@DennisOSRM DennisOSRM marked this pull request as draft October 30, 2022 12:59
@DennisOSRM DennisOSRM closed this Nov 1, 2022
@DennisOSRM DennisOSRM reopened this Dec 10, 2022
@@ -42,7 +42,7 @@ module.exports = function () {
this.OSRM_PORT = process.env.OSRM_PORT && parseInt(process.env.OSRM_PORT) || 5000;
this.OSRM_IP = process.env.OSRM_IP || '127.0.0.1';
this.OSRM_CONNECTION_RETRIES = process.env.OSRM_CONNECTION_RETRIES && parseInt(process.env.OSRM_CONNECTION_RETRIES) || 10;
this.OSRM_CONNECTION_EXP_BACKOFF_COEF = process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF && parseFloat(process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF) || 1.0;
this.OSRM_CONNECTION_EXP_BACKOFF_COEF = process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF && parseFloat(process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF) || 1.1;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The idea here is to always use exponential back off. This fixed test runs on my dev machine

@DennisOSRM DennisOSRM marked this pull request as ready for review May 19, 2024 12:12
Copy link
Member

@SiarheiFedartsou SiarheiFedartsou left a comment

Choose a reason for hiding this comment

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

Something is wrong with CI jobs using gcc-13 - it seems it cannot find compiler...

@SiarheiFedartsou
Copy link
Member

#6886

@DennisOSRM DennisOSRM marked this pull request as draft May 24, 2024 09:51
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.

None yet

2 participants