https://github.com/orxfun/orx-bench-shortest-path
Benchmarks for single source single sink shortest path implementations
https://github.com/orxfun/orx-bench-shortest-path
benchmark data-structures dijkstra-algorithm priority-queue rust shortest-path-algorithm
Last synced: 2 months ago
JSON representation
Benchmarks for single source single sink shortest path implementations
- Host: GitHub
- URL: https://github.com/orxfun/orx-bench-shortest-path
- Owner: orxfun
- License: mit
- Created: 2023-10-05T08:17:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-27T13:34:57.000Z (over 2 years ago)
- Last Synced: 2023-12-27T14:38:15.020Z (over 2 years ago)
- Topics: benchmark, data-structures, dijkstra-algorithm, priority-queue, rust, shortest-path-algorithm
- Language: Rust
- Homepage:
- Size: 533 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# orx-bench-shortest-path
A command line tool to enable benchmarking shortest path algorithms on different data sets with different graph representations, etc. It is possible to:
* create full factorial experiments using `interactive` mode,
* experiments can be executed directly from the interactive mode or from the created experiment file using `fromfile` mode.
## Contribution
If you wish to add a different
* graph representation,
* queue type, or
* algorithm implementation
to the experimentation tool, please open an [issue](https://github.com/orxfun/orx-bench-shortest-path/issues/new) or create a PR.
## A. Usage
```bash
cargo run help
```

## B. Analysis
You may find the results of the most recent experiments [here](docs/results-20231031.xlsx) and the summary below.
### B.1. Algorithms
Currently, only Dijkstra's algorithm is experimented; however, with using different queues.
In the figure below, you may see the overall average of execution time with different variants.

In the next figure, required heap sizes are compared:

### B.2. Graph Representation
In the figure below, you may see the overall average of execution time with different underlying graph structures.
