Skip to content
  • Florent D'Halluin's avatar
    Update benchmarks. · fea69166
    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