dramatically improve time to import and edit maps.

The fix helps all maps that use extremely high edge weights to prevent
people from cutting through private roads. There may be a more robust
fast_paths fix later, but I want to reap the benefits for tomorrow's
release.

The dramatic numbers:

- importing huge_seattle: 893s down to 108s
- editing huge_seattle: 102s down to 19s

Query speeds didn't appear to substantially change.
This commit is contained in:
Dustin Carlino 2021-07-17 22:33:01 -07:00
parent f85f42a614
commit db435cd56d
4 changed files with 434 additions and 434 deletions

2
Cargo.lock generated
View File

@ -974,7 +974,7 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
[[package]]
name = "fast_paths"
version = "0.3.0-SNAPSHOT"
source = "git+https://github.com/easbar/fast_paths#1f9c984708492f1027ac3745bdcc96d81567f89f"
source = "git+https://github.com/easbar/fast_paths?branch=large_edge_weights_quick_fix#634957aea136ac56679123196d5e97b7a2c1a442"
dependencies = [
"log",
"priority-queue",

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ abstio = { path = "../abstio" }
abstutil = { path = "../abstutil" }
anyhow = "1.0.38"
enumset = { version = "1.0.3", features=["serde"] }
fast_paths = { git = "https://github.com/easbar/fast_paths" }
fast_paths = { git = "https://github.com/easbar/fast_paths", branch = "large_edge_weights_quick_fix" }
geom = { path = "../geom" }
log = "0.4.14"
nbez = "0.1.0"

View File

@ -4,69 +4,69 @@
"scenario": "weekday",
"finished_trips": 76618,
"cancelled_trips": 0,
"total_trip_duration_seconds": 45404132.578600295
"total_trip_duration_seconds": 45406963.73109959
},
{
"map": "greenlake (in seattle (us))",
"scenario": "weekday",
"finished_trips": 136849,
"cancelled_trips": 29,
"total_trip_duration_seconds": 75744608.19010042
"total_trip_duration_seconds": 75732908.09129962
},
{
"map": "montlake (in seattle (us))",
"scenario": "weekday",
"finished_trips": 36723,
"cancelled_trips": 73,
"total_trip_duration_seconds": 19715126.615600005
"total_trip_duration_seconds": 19739633.926599935
},
{
"map": "lakeslice (in seattle (us))",
"scenario": "weekday",
"finished_trips": 260956,
"cancelled_trips": 4860,
"total_trip_duration_seconds": 200894456.255508
"total_trip_duration_seconds": 202906700.90060216
},
{
"map": "qa (in seattle (us))",
"scenario": "weekday",
"finished_trips": 53866,
"cancelled_trips": 0,
"total_trip_duration_seconds": 19767575.984599806
"total_trip_duration_seconds": 19802562.703499936
},
{
"map": "rainier_valley (in seattle (us))",
"scenario": "weekday",
"finished_trips": 68100,
"cancelled_trips": 0,
"total_trip_duration_seconds": 40847817.747400254
"total_trip_duration_seconds": 40937186.20589961
},
{
"map": "center (in poundbury (gb))",
"scenario": "base",
"finished_trips": 8188,
"cancelled_trips": 0,
"total_trip_duration_seconds": 7318295.176400012
"total_trip_duration_seconds": 7329845.475700002
},
{
"map": "center (in poundbury (gb))",
"scenario": "go_active",
"finished_trips": 8188,
"cancelled_trips": 0,
"total_trip_duration_seconds": 9484682.237000026
"total_trip_duration_seconds": 9495889.386400027
},
{
"map": "center (in poundbury (gb))",
"scenario": "base_with_bg",
"finished_trips": 23378,
"cancelled_trips": 256,
"total_trip_duration_seconds": 21836895.323399995
"total_trip_duration_seconds": 21834285.8862
},
{
"map": "center (in poundbury (gb))",
"scenario": "go_active_with_bg",
"finished_trips": 23378,
"cancelled_trips": 256,
"total_trip_duration_seconds": 24019072.520200063
"total_trip_duration_seconds": 24038501.3163001
}
]