1. 19 Jun, 2009 6 commits
    • Florent D'Halluin's avatar
      Benchmarks: rename aut_ab into aut_b. · 71fbd82b
      Florent D'Halluin authored
      * src/bench/common/bench_constructs.hh,
      * src/bench/quotient/quotient_bool_bench.hh,
      * src/bench/quotient/quotient_z_bench.hh: Do that.
      71fbd82b
    • Florent D'Halluin's avatar
      Update accessible benchmark. · f8ccc316
      Florent D'Halluin authored
      * src/bench/accessible/Makefile.bench: Adjust benchmark values.
      * src/bench/accessible/accessible_bench.hh,
      * src/bench/common/bench_constructs.hh: Move automaton creation.
      f8ccc316
    • Florent D'Halluin's avatar
      Benchmarks: add documentation. · 76eaaf17
      Florent D'Halluin authored
      * src/bench/README,
      * src/bench/common/README_AUTOMATA: Update.
      76eaaf17
    • 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
    • Florent D'Halluin's avatar
      Update cbs. · 2be722fd
      Florent D'Halluin authored
      CBS version: f2cc74d682bddc0da7386a5ce1017b591c2c6e47.
      See cbs/Changelog.
      2be722fd
    • Florent D'Halluin's avatar
      Update cbs. · 49b1d5b5
      Florent D'Halluin authored
      CBS version: 17a18a174536d6b05c5364dd5f96f420b5ca75ef.
      See cbs/Changelog.
      49b1d5b5
  2. 05 Jun, 2009 18 commits
    • Alexandre Duret-Lutz's avatar
    • Florent D'Halluin's avatar
      Fix call graph export in taf-kit. · 0c15051c
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * taf-kit/src/main.cc: Use the correct variable.
      0c15051c
    • Florent D'Halluin's avatar
      Adjust bench to complete in a reasonable time. · 7211dee8
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/bench/minimization_2n/Makefile.bench: Do not bench
      minimization_brzozowski past n=12 (already 8min on seattle).
      
      * src/bench/eps_removal/Makefile.bench: Bench up to 200.
      7211dee8
    • Florent D'Halluin's avatar
      Fix composition bench. · 31b17fcd
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/bench/composition/normalized_composition_bench.hh,
      * src/bench/composition/rw_composition_bench.hh:
      Add missing CBS parameter (n).
      31b17fcd
    • Florent D'Halluin's avatar
      Fix quotient bench automaton. · 90a97dde
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      The previous automaton made no sense to Jacques and looked like
      there has been a fishy copy/paste.
      
      It now is:
      
      A -a-> A
      A -b-> A
      A -b-> B
      B -a-> B
      B -b-> B
      
      * src/bench/quotient/quotient_bool_bench.hh: Do that.
      90a97dde
    • Florent D'Halluin's avatar
      Enable callgraph in benchmark dot output. · afe3f9a7
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/bench/common/bench_macros.hh: Fix macro.
      afe3f9a7
    • Florent D'Halluin's avatar
      Update cbs. · 85580b19
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      CBS version: aef3055d95b926d6242ebbce64a128df044cbba2.
      See cbs/Changelog.
      85580b19
    • Florent D'Halluin's avatar
      Optimize quotient on boolean automata. · 6491e74a
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      (As mentioned during the meeting on April 10th)
      
      * include/vaucanson/algorithms/minimization_hopcroft.hxx: Do that.
      6491e74a
    • Florent D'Halluin's avatar
      Fix quotient bench automaton. · c49072f8
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      The previous automaton made no sense to Jacques and looked like
      there has been a fishy copy/paste.
      
      It now is:
      
      A -a-> A
      A -b-> A
      A -b-> B
      B -a-> B
      B -b-> B
      
      * src/bench/quotient/quotient_bool_bench.hh: Do that.
      c49072f8
    • Florent D'Halluin's avatar
      Enable callgraph in benchmark dot output. · fd04db43
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/bench/common/bench_macros.hh: Fix macro.
      fd04db43
    • Florent D'Halluin's avatar
      Update cbs. · fed5912d
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      CBS version: aef3055d95b926d6242ebbce64a128df044cbba2.
      See cbs/Changelog.
      fed5912d
    • Florent D'Halluin's avatar
      Fix make check. · 8227214d
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      Use CBS in demos, disable CBS in tests (for faster
      compilation/link), disable CBS in vaucanswig.
      
      * src/demos/algorithms/Makefile.am,
      * src/demos/one_rule_rewriting/Makefile.am,
      * src/demos/vgrep/Makefile.am:
      Add cbs include dir, link with libbench.la.
      
      * src/tests/xml/Makefile.am,
      * src/tests/check/check-flags.mk,
      * src/tests/sanity/Makefile.am:
      Add cbs include dir. Disable bench (-DBENCH_DISABLED).
      
      * vaucanswig/expand.sh,
      * vaucanswig/meta/Makefile.am:
      Add cbs include dir. Disable bench (-DBENCH_DISABLED).
      8227214d
    • Florent D'Halluin's avatar
      Equip bench with CBS · e2ae22f3
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      3 Steps:
      
      1) Use CBS files.
      2) Remove obsolete tools.
      3) Equip all benches.
      
      1) Use CBS files:
      
      * src/bench/common/bench_macros.hh: New.
      Include cbs/bench/bench.hh, define handy macros.
      * src/bench/common/Makefile.am: Add file.
      * src/bench/generate_bench.sh: Include common/bench_macros.hh in
      generated Makefiles.
      
      2) Remove obsolete tools:
      
      * include/vaucanson/tools/bencher.hh,
      * include/vaucanson/tools/bencher.hxx: Deleted.
      Served the same purpose as the cbs timer, with less flexibility.
      * include/vaucanson/Makefile.am: Remove files.
      
      3) Equip all benches:
      
      Replace macros VCSN_BENCH_XXX with the CBS equivalent.
      Add parameters and results when applicable (all the info
      previously printed on cout/cerr are now parameters and results).
      
      3 files are generated for each bench.  There are between 5 and 10
      benches per file below.  See common/bench_macros.hh to change that.
      
      * src/bench/composition/normalized_composition_bench.hh,
      * src/bench/composition/rw_composition_bench.hh,
      * src/bench/derived_terms/derived_terms_bench.hh,
      * src/bench/determinization/determinization_bench.hh,
      * src/bench/eps_removal/eps_removal_bench.hh,
      * src/bench/iterators/accessible_bench.hh,
      * src/bench/iterators/iterator_bench.hh,
      * src/bench/minimization_2n/minimization_2n_brzozowski_bench.h,
      * src/bench/minimization_2n/minimization_2n_hopcroft_bench.hh,
      * src/bench/minimization_2n/minimization_2n_moore_bench.hh,
      * src/bench/minimization_debruijn/minimization_debruijn_brzozo,
      * src/bench/minimization_debruijn/minimization_debruijn_hopcro,
      * src/bench/minimization_debruijn/minimization_debruijn_moore_,
      * src/bench/quotient/quotient_bool_bench.hh,
      * src/bench/quotient/quotient_z_bench.hh: Do that.
      e2ae22f3
    • Florent D'Halluin's avatar
      Replace timer and global_timer with cbs. · dd25051c
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      Note: bencher and global_bencher remain.
      
      4 steps:
      1) Remove the timer system.
      2) Fix taf-kit.
      3) Disable bench in data/automata.
      4) Use cbs in algorithms/*.hxx and tools/*.hxx.
      
      Most modifications were only macro renaming.
      
      Tests:
      /!\ make check should be done on this patch.
      Taf-kit was quickly tested.
      make bench was quickly tested as well.
      
      Files patched:
      
      1) Remove the timer system:
      
      * include/vaucanson/misc/global_bencher.hh: New.
      Gather bencher-related macros.  Bench using the timer from cbs.
      * include/vaucanson/misc/global_timer.hh: Removed.
      Remove timer-related macros, put the rest in global_bencher.hh.
      * include/vaucanson/misc/usual_macros.hh: Include the proper files.
      * include/Makefile.am: Add/remove files.
      * include/vaucanson/misc/global_timer.hh,
      * include/vaucanson/misc/timer.cc,
      * include/vaucanson/misc/timer.hh,
      * include/vaucanson/misc/timer.hxx,
      * include/vaucanson/misc/timer_internal_gathering.cc,
      * include/vaucanson/misc/timer_internal_gathering.hh,
      * include/vaucanson/misc/timer_internal_gathering.hxx,
      * include/vaucanson/misc/timer_internal_graph.cc,
      * include/vaucanson/misc/timer_internal_graph.hh,
      * include/vaucanson/misc/timer_internal_graph.hxx: Removed.
      
      2) Fix taf-kit:
      
      * taf-kit/src/common.hh,
      * taf-kit/src/main.cc: Remove global_timer. Fix macros.
      
      3) Disable bench in data/automata:
      
      * data/automata/char-b/Makefile.am,
      * data/automata/char-fmp-b/Makefile.am,
      * data/automata/char-z/Makefile.am:
      Set -DBENCH_DISABLED in AM_CPPFLAGS.
      
      4) Use cbs in algorithms/*.hxx and tools/*.hxx:
      
      * include/vaucanson/algorithms/accessible.hxx,
      * include/vaucanson/algorithms/aci_canonical.hxx,
      * include/vaucanson/algorithms/aut_projection.hxx,
      * include/vaucanson/algorithms/aut_to_exp.hxx,
      * include/vaucanson/algorithms/berry_sethi.hxx,
      * include/vaucanson/algorithms/brzozowski.hxx,
      * include/vaucanson/algorithms/complement.hxx,
      * include/vaucanson/algorithms/complete.hxx,
      * include/vaucanson/algorithms/composition_cover.hxx,
      * include/vaucanson/algorithms/concatenate.hxx,
      * include/vaucanson/algorithms/cut_up.hxx,
      * include/vaucanson/algorithms/derived_term_automaton.hxx,
      * include/vaucanson/algorithms/determinize.hxx,
      * include/vaucanson/algorithms/domain.hxx,
      * include/vaucanson/algorithms/eps_removal.hxx,
      * include/vaucanson/algorithms/eps_removal_sp.hxx,
      * include/vaucanson/algorithms/eval.hxx,
      * include/vaucanson/algorithms/evaluation_fmp.hxx,
      * include/vaucanson/algorithms/extension.hxx,
      * include/vaucanson/algorithms/finite_support_conversion.hxx,
      * include/vaucanson/algorithms/fmp_to_rw.hxx,
      * include/vaucanson/algorithms/image.hxx,
      * include/vaucanson/algorithms/invert.hxx,
      * include/vaucanson/algorithms/is_ambiguous.hxx,
      * include/vaucanson/algorithms/is_deterministic.hxx,
      * include/vaucanson/algorithms/is_ltl.hxx,
      * include/vaucanson/algorithms/is_normalized.hxx,
      * include/vaucanson/algorithms/isomorph.hxx,
      * include/vaucanson/algorithms/letter_to_letter_composition.h,
      * include/vaucanson/algorithms/ltl_to_pair.hxx,
      * include/vaucanson/algorithms/minimization_hopcroft.hxx,
      * include/vaucanson/algorithms/minimization_moore.hxx,
      * include/vaucanson/algorithms/normalized.hxx,
      * include/vaucanson/algorithms/pair_to_fmp.hxx,
      * include/vaucanson/algorithms/product.hxx,
      * include/vaucanson/algorithms/projection.hxx,
      * include/vaucanson/algorithms/realtime.hxx,
      * include/vaucanson/algorithms/rw_composition.hxx,
      * include/vaucanson/algorithms/search.hxx,
      * include/vaucanson/algorithms/standard.hxx,
      * include/vaucanson/algorithms/sub_automaton.hxx,
      * include/vaucanson/algorithms/sub_normalize.hxx,
      * include/vaucanson/algorithms/transpose.hxx,
      * include/vaucanson/algorithms/trim.hxx,
      * include/vaucanson/tools/io.hxx: Replace TIMER_SCOPED with
      BENCH_TASK_SCOPED.
      dd25051c
    • Florent D'Halluin's avatar
      Link taf-kit, libs and benches with $(benchlib). · 9f8f9993
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * vaucanson.mk: Define benchlib.
      * lib/generate_libvcsn.rb,
      * taf-kit/src/Makefile.am,
      * src/bench/generate_bench.sh: Use it.
      9f8f9993
    • Florent D'Halluin's avatar
      Update cbs. · d0501094
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      CBS version: e97a404a44e5b5d19d4a869aa1f43524386c5b09.
      See cbs/Changelog.
      d0501094
    • Florent D'Halluin's avatar
      Add cbs (libbench). · a9f7f2e1
      Florent D'Halluin authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * cbs: Add directory.
      * configure.ac: Add AC_CONFIG_SUBDIRS for cbs.
      * Makefile.am: Add cbs subdir.
      a9f7f2e1
    • Alexandre Duret-Lutz's avatar
      BOOST_CPPFLAGS were ignored while compiling lib/. · 9563f878
      Alexandre Duret-Lutz authored
      * lib/src/libcommon.mk: Do not overwrite AM_CPPFLAGS with a list
      of include directories that is less complete than the one in
      vaucanson.mk, use...
      (libvcsn_common_la_CPPFLAGS, libvcsn_common_ex_la_CPPFLAGS):
      ... these variable to augmant AM_CPPFLAGS instead.
      9563f878
  3. 26 May, 2009 4 commits
  4. 18 May, 2009 4 commits
  5. 14 May, 2009 2 commits
    • Alexandre Duret-Lutz's avatar
      abs() no longer works with g++ 4.4., we must write std::abs(). · ab9f5038
      Alexandre Duret-Lutz authored
      * include/vaucanson/algebra/implementation/semiring/numerical_semiring.hxx,
      include/vaucanson/misc/random.hxx: Use std::abs() instead of abs().
      * include/vaucanson/algebra/implementation/semiring/rational_number.hxx:
      Likewise, and also include <cstdlib> for abs(int).
      ab9f5038
    • Alexandre Duret-Lutz's avatar
      Introduce libvcsn-common-ex.la in addition to libvcsn-common.la · 4ddbd80e
      Alexandre Duret-Lutz authored
      to decide whether exceptions should be used in preconditions.
      
      This fixes errors in taf-kit's test-suite when compiled with GCC
      4.4.  The code was making the bogus assumption that the inline
      function trap() was not inlined in the context libraries (compiled
      without exceptions) and could therefore be overwritten as a weak
      symbol in TAF-Kit (to use exceptions).
      
      * include/vaucanson/misc/contract.hh (vcsn::misc::contract::trap):
      Leave only a declaration and move the definition...
      * src/misc/contract.cc: ... in this new file.
      * lib/src/libcommon.mk: Adjust for contract.cc and build two
      libraries: libvcsn-common.la (with abort()) and
      libvcsn-common-ex.la (with exceptions).
      * data/automata/char-b/Makefile.am,
      data/automata/char-fmp-b/Makefile.am,
      data/automata/char-z/Makefile.am, taf-kit/src/Makefile.am,
      vaucanswig/meta/Makefile.am, src/tests/sanity/Makefile.am,
      src/tests/xml/Makefile.am: Link with libvcsn-common.la or
      libvcsn-common-ex.la.
      * taf-kit/src/common.hh (EXCEPTION_TRAPS): Remove #define.
      * src/bench/common/bench.mk (AM_CPPFLAGS): Remove useless
      -DEXCEPTION_TRAPS.
      * vaucanswig/expand.sh: Likewise.
      * src/tests/check/Makefile.am: Build libcheck.la instead
      of libcheck.a, so we can depend on libvcsn-common-ex.la
      * src/tests/check/check.mk: Use libcheck.la and
      libvcsn-common-ex.la.
      * src/tests/test-suites/test-suite.mk: Don't define
      EXCEPTION_TRAPS and don't add libvcsn-common-ex.la to LDADD
      (check.mk already does it).
      4ddbd80e
  6. 13 May, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      Rename libkrat_exp.la as libvcsn_common.la, and move lib/krat_exp/ · d8c81c6a
      Alexandre Duret-Lutz authored
      to lib/src/krat_exp/, so that we can later integrate more code
      into libvcsn_common.la.
      
      * bootstrap: Don't run bison, the Makefile will do it.
      * lib/krat_exp/krat_exp_bison.yy: Move ...
      * lib/src/krat_exp/krat_exp_bison.yy: ... here.
      * lib/krat_exp/libkrat_exp.mk: Rename as ...
      * lib/src/libcommon.mk: ... this, and adjust to the new names.
      * src/demos/algorithms/Makefile.am,
      src/demos/one_rule_rewriting/Makefile.am,
      src/demos/vgrep/Makefile.am, src/tests/xml/Makefile.am,
      taf-kit/src/Makefile.am, lib/Makefile.am: Change all references to
      libkrat_exp.la into libvcsn-common.la.
      d8c81c6a
  7. 12 May, 2009 1 commit
  8. 11 May, 2009 3 commits
  9. 06 May, 2009 1 commit