Commit Graph

45 Commits

Author SHA1 Message Date
Louis Dionne
d1ea99a84e [CMake] Properly quote file paths 2017-06-24 14:53:10 -07:00
Louis Dionne
a0a8ecc061 [CMake] Do not include Boost headers globally 2017-03-29 22:08:04 -07:00
Louis Dionne
50336d4aeb [CMake] Use per-target properties instead of populating global flags 2017-02-10 08:07:44 -08:00
Louis Dionne
9895803ede Bump copyright year to 2017 2017-01-07 14:14:18 -08:00
Louis Dionne
8f8794fd28 [CMake] Add the hana interface library
Also, simplify the example/test setup by removing the tests.quick target
2016-10-10 20:52:54 -07:00
Louis Dionne
73a7c5aba9 [benchmarks] Add benchmarks for at_key and find_if
Also slightly improve the benchmarking framework:
  - Allow passing an additional environment to benchmarks
  - Add the directory of the .erb.cpp file to the include path
  - Output stdout when a compilation error occurs
2016-01-25 20:11:50 -05:00
Louis Dionne
1026267959 [CMake] Modularize the checks for external packages 2016-01-04 14:58:11 -05:00
Louis Dionne
c41a5cb6be Update copyright notices for 2016 2016-01-01 14:54:06 -05:00
Louis Dionne
5e1d86b994 [Benchmarks] Give terminal access to the benchmarks with Ninja 2015-11-27 17:34:13 -05:00
Louis Dionne
131b46a6fd [Benchmarks] Allow running multiple benchmarks at the same time
On Travis, also test the benchmarks on two cores to speed up the builds.
2015-11-07 12:09:01 -05:00
Louis Dionne
6c5e6f1ce6 [Benchmarks] Simplify the logic for creating the benchmark targets 2015-11-07 12:08:04 -05:00
Louis Dionne
cad139b675 [Travis] Only check the benchmarks during the BENCHMARKS=true jobs
This should give a decent speed up to our Travis build.
2015-11-06 17:41:00 -05:00
Louis Dionne
cff7039ab3 [CMake/Travis] Simplify CMake setup by moving benchmark and doc uploads to Travis
The benchmarks/documentation were only ever updated from Travis, and it
is much simpler to do it directly in bash from Travis than to write it
in CMake as we did.
2015-10-04 16:48:38 -04:00
Louis Dionne
26a40bb623 [Benchmarks] Do not run benchmarks in Default build type on Clang 3.5 2015-10-03 21:15:00 -04:00
Louis Dionne
0ccc0fb342 [Benchmarks] Depend on all the .cpp benchmark files instead of just the .erb.json
This way, the benchmarks will be re-generated when we modify one of the
.cpp files.
2015-08-08 13:16:02 +02:00
Louis Dionne
bbfd3b8a9e [Travis] Add a Travis job building with Clang + libstdc++
Also, add -ftemplate-depth=-1 in the benchmarks to avoid failures
due to hitting the recursive template instantiation limit.

Fixes #159
2015-06-30 23:53:46 +02:00
Louis Dionne
1e89c69049 [CMake] Remove LIBCXX_ROOT cruft and properly explain the situation in the README
Also:
- Remove the boost_hana_add_executable function, which is now useless
- Properly set the LD_LIBRARY_PATH to link against a custom libc++
- Adjust the Travis build

Fixes #135
2015-06-24 20:07:13 -04:00
Louis Dionne
7b1de7fe43 [Travis] Speed up the travis build
- Make sure the check.benchmarks are serialized
- Run Doxygen with Clang 3.6 instead of Clang trunk
- Download prebuilt Doxygen instead of building from source
- Run unit tests on two cores
2015-06-05 19:38:27 -04:00
Louis Dionne
aa2edb08ce [CMake] Reduce the number of targets and modularize the code 2015-05-22 16:23:54 -04:00
Louis Dionne
deea418ad4 [Benchmarks] Add missing include_directories for Boost headers 2015-04-28 12:57:06 -04:00
Louis Dionne
7a4db87d3c [CMake] Set the proper xxx_FOUND variables in the CMake find modules. 2015-04-28 12:50:19 -04:00
Louis Dionne
e6d0fa9487 [CMake] Use Find modules to find optional external libraries 2015-04-28 10:46:44 -04:00
Louis Dionne
62804fe7e3 [Benchmarks] Add support for Meta in the benchmarks 2015-04-28 09:51:12 -04:00
Louis Dionne
f0ca4df2da [Benchmarks] Fix benchmarks broken by ca37fdf
Also check the benchmarks when we're on develop, to make sure they're
not broken.
2015-04-25 19:52:06 -04:00
Louis Dionne
52c10011dc [Benchmarks] Refactoring
- Modularize the directory structure
- Add code bloat benchmarks
- Benchmark larger MPL vectors
- Improve the chart display

Fixes #45
2015-04-23 13:07:39 -04:00
Louis Dionne
1538677829 [Travis] Run the benchmarks in Debug and Release configurations
Fixes #49
2015-04-22 22:58:29 -04:00
Louis Dionne
ac2f5222cd [Travis] Run the unit tests under valgrind 2015-04-18 22:36:40 -04:00
Louis Dionne
f3030c926b [Benchmarks] Add benchmarks with the MPL11 and other experiments when supported 2015-04-18 19:55:20 -04:00
Louis Dionne
9a0e356421 [Travis] Run the benchmarks on each compiler and other minor enhancements 2015-04-18 12:51:26 -04:00
Louis Dionne
36a3e22429 [CMake] Add targets to update the benchmarks on the 'datasets' branch 2015-04-18 12:51:26 -04:00
Louis Dionne
fd14741747 [Benchmarks] Simplify the benchmark framework and generate JSON instead of CSV 2015-04-18 12:51:25 -04:00
Louis Dionne
ed78fcb22b [Benchmarks] Start writing more customized benchmarks 2015-03-25 10:30:58 -04:00
Louis Dionne
065b910128 Update copyright year. 2015-03-03 14:16:50 -05:00
Louis Dionne
9604c9a9f6 Replace List by Sequence 2015-02-20 11:05:43 -05:00
Louis Dionne
2e94c2cd84 Fix a couple of bugs in the build system:
- Don't add benchmarks when the Benchmarks module is not available
- Properly handle tests and examples depending on Boost
2014-10-21 20:11:45 -04:00
Louis Dionne
6369313b32 Benchmark compile-time implications of using std::forward all around 2014-10-05 15:14:22 -04:00
Louis Dionne
fd473470c3 Add two runtime benchmarks for foldl 2014-09-30 08:21:36 -04:00
Louis Dionne
8e98fb808c Improve the accuracy of runtime benchmarks. 2014-09-29 11:18:48 -04:00
Louis Dionne
a44e9b8d17 Benchmark a different way of reversing a parameter pack. 2014-09-22 11:13:28 -04:00
Louis Dionne
6ebcb5e701 Refactor the benchmarks 2014-09-22 10:26:29 -04:00
Louis Dionne
943c59c0a1 Refactor benchmarks. 2014-09-02 13:21:51 -04:00
Louis Dionne
aa6aed5e3b Benchmarks: add implicit dependencies to datasets. 2014-07-12 15:30:19 -04:00
Louis Dionne
c4ff6e0842 Refactor benchmarks. 2014-07-09 15:36:36 -04:00
Louis Dionne
eb558b3ba1 Add foldl benchmarks for more sequences. 2014-07-07 18:51:26 -04:00
Louis Dionne
2d6bc3cd79 Rename benchmarks/ to benchmark/ for consistency. 2014-07-07 12:05:38 -04:00