Note
Binary Decision Diagram
- C
- BuDDy
- CUDD
- Sylvan
- Java
- jdd
- JSylvan
- C#
- DecisionDiagrams-BDD
- DecisionDiagrams-CBDD
Network Decision Diagram
- Java
- NDD
- NDD-reuse
- NDD-SoA
Please install build tools(pkg-config and GMP) before run this script. Here takes Debian/Ubuntu as an example:
sudo apt update
sudo apt install build-essential pkg-config libgmp-dev openjdk-17-jdk python3 python3-pipSylvan/JSylvan will build failed without pkg-config or libgmp-dev.
- clone with submodule:
if forget
git clone --recurse-submodules git@github.com:Augists/nqueensBenchmarkDDs.git
--recurse-submodules,run the script below after clone:git submodule update --init --recursive
- run benchmark
python3 scripts/run_nqueens_benchmarks.py
- test N=4~12 by default, and will auto build binary if have not compiled
- parameter:
--sizes 8 9 10for N in NQueens;--workers 0let Sylvan/JSylvan auto detect the number of cpu cores(0 by default);--targets BuDDy Sylvan NDDfor only test partial libraries(allby default) - All results will be recorded in
results/nqueens_metrics.csv
- plot
which will generate
python3 scripts/plot_nqueens_results.py --input results/nqueens_metrics.csv --output results
nqueens_time_sec.png、results/nqueens_time_sec_log.png、nqueens_max_rss_kb.png、nqueens_nodes.pngand else.





