[FEATURE REQUEST] Improve perfomance #19
Labels
enhancement
New feature or request
help wanted
Extra attention is needed
question
Further information is requested
Is your feature request related to a problem? Please describe.
Let's take a laptop:
Run test (with debugged flag ON) on it for this Graph file containing ~211k edges:
go test -timeout 30s -v -run ^TestShortestPath$ github.com/LdDl/ch .... --- PASS: TestShortestPath (10.32s) ...
Bassicaly it has taken ~10seconds to preprocess graph. It's not that bad. But.
Let's take another Graph file containing 251k edges:
Now it's about 70+ minutes. I guess the problem with that graph is (a) topology + (b) a lot of Dijkstra function calls during contraction process on last ~10k steps in priority queue (vertices sorted by importance).
Something needs to be done with preparing contraction hierarchies: improve heuristics (I don't think that ~[edges_num*2] number of generated shortcuts is a good ...) / delete unnecessary calculations / refactor code (probably find hidden bugs)
Additional context
Used heuristics currently:
2 .Lazy update heuristic:
The text was updated successfully, but these errors were encountered: