-
Florent D'Halluin authored
This is a compound patch that can hardly be divided into separate patches. It includes: 1. OpenFST integration. If OpenFST is present, OpenFST benchmarks are made for some algorithms. 2. Some (incomplete) documentation. Describe the benchmarking process, input automata, and results. 3. Clean up & name consistency. Move existing benchmarks into directories with consistent names (the benchmarked algorithms), store results in a specific directory according to input and other parameters. Patch details: 1. OpenFST integration: * configure.ac: Add --with-openfst option. * src/bench/common/alpha.syms: Add missing line. * src/bench/common/bench.mk: Fix -DVCSN_SRC_DIR flag. * src/bench/common/bench_macros.hh: Add convenient macros * src/bench/determinization/Makefile.bench: Add OpenFST bench. * src/bench/determinization/determinization_aut_2n_openfst_bench.hh: New (OpenFST benchmark program). * src/bench/minimization/Makefile.bench: New (add OpenFST bench). * src/bench/minimization/minimization_aut_2n_openfst_bench.hh: New (OpenFST benchmark program). * src/bench/minimization/minimization_aut_debruijn_openfst_bench.hh, New (OpenFST benchmark program). 2. Some (incomplete) documentation: * src/bench/README: New. General information. * src/bench/common/README: New. * src/bench/common/README_AUTOMATA: New. 3. Clean up & name consistency: * configure.ac: Add/remove makefiles. * src/bench/Makefile.am: Add/remove directories. * src/bench/generate_bench.sh: Add/remove directories. * src/bench/common/Makefile.am: Clean up. * src/bench/common/bench_automaton.hh: Remove (unused). * src/bench/common/bench_constructs.hh: Clean up, add automata. Move accessible to its own directory: * src/bench/accessible/Makefile.bench: New. * src/bench/iterators/accessible_bench.hh: Rename into src/bench/accessible/accessible_bench.hh. Clean up composition: * src/bench/composition/Makefile.bench, * src/bench/composition/normalized_composition_bench.hh: Consistency. * src/bench/composition/rw_composition_bench.hh: Rename into src/bench/composition/realtime_composition_bench.hh. Clean up derived-terms: * src/bench/derived_terms/Makefile.bench, * src/bench/derived_terms/derived_terms_bench.hh: Consistency. Clean up determinization: * src/bench/determinization/Makefile.bench: Consistency. * src/bench/determinization/determinization_bench.hh: Rename into src/bench/determinization/determinization_aut_2n_bench.hh. * src/bench/determinization/determinization_bench_fsm.cc: Remove (unused). Clean up eps_removal: * src/bench/eps_removal/Makefile.bench, * src/bench/eps_removal/eps_removal_bench.hh: Consistency. Clean up iterators: * src/bench/iterators/Makefile.bench, * src/bench/iterators/iterator_bench.hh: Consistency. Clean up quotient: * src/bench/quotient/Makefile.bench, * src/bench/quotient/quotient_bool_bench.hh, * src/bench/quotient/quotient_z_bench.hh: Consistency. Clean up minimization: * src/bench/minimization/Makefile.bench: New (merge from minimization_2n and minimization_debruijn). * src/bench/minimization_2n/Makefile.bench: Remove (unused). * src/bench/minimization_debruijn/Makefile.bench: Remove (unused). * src/bench/minimization_2n/minimization_2n_brzozowski_bench.hh: Rename into src/bench/minimization/minimization_aut_2n_brzozowski_bench.hh. * src/bench/minimization_2n/minimization_2n_hopcroft_bench.hh: Rename into src/bench/minimization/minimization_aut_2n_hopcroft_bench.hh. * src/bench/minimization_2n/minimization_2n_moore_bench.hh: Rename into src/bench/minimization/minimization_aut_2n_moore_bench.hh. * src/bench/minimization_debruijn/minimization_debruijn_brzozowski_bench.hh: Rename into src/bench/minimization/minimization_aut_debruijn_brzozowski_bench.hh. * src/bench/minimization_debruijn/minimization_debruijn_hopcroft_bench.hh: Rename into src/bench/minimization/minimization_aut_debruijn_hopcroft_bench.hh. * src/bench/minimization_debruijn/minimization_debruijn_moore_bench.hh: Rename into src/bench/minimization/minimization_aut_debruijn_moore_bench.hh.
fea69166