Commit Graph

171 Commits

Author SHA1 Message Date
Louis Dionne
bcd7946290 [benchmarks] Fix issue with Tilt 2.0.10
See https://github.com/rtomayko/tilt/issues/347 for details.
2019-09-24 17:37:34 -04:00
Quentin Chateau
be0640b9ed [benchmarks] added benchmarks for sort
benchmark for multiple tuple size
the following case are tested:
- sorted tuple
- reverse sorted tuple
- randomized tuple
- sorted tuple except first element
- sorted tuple except last element
2019-09-24 06:47:22 -06:00
Louis Dionne
a5923b4845 Remove support for Clang 3.5, 3.6, 3.7 and 3.8, and Xcode 8
Those are old compilers and removing support allows removing a couple
of workarounds. It also reduces the CI burden and will allow us to test
more recent and more relevant compilers.
2019-07-30 14:48:41 -04:00
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
5d55918535 Remove micro-benchmarks from the documentation, and mention Metabench
Metabench now contains almost all of Hana's algorithms, so we document
the existence of Metabench instead of redundantly generating the
benchmarks on Travis for Hana only.
2016-06-26 09:52:08 -07:00
Louis Dionne
afd5ca1b6c [map] Use Comparable keys in the make_map benchmark 2016-02-29 11:15:53 -05:00
Louis Dionne
eaa4cd7f8e [map] Reimplement hana::map using a hash table 2016-02-16 15:50:41 -05:00
Louis Dionne
391543ac94 [benchmark] Disable find_if benchmarks for set and map
It makes very little sense to compare find_if for set and map with
find_if for linear data structures, since that is not the intended
use case for set and map. Until we have a better comparison of
associative data structures ready, I do not want to present this
data as it could be misleading.
2016-02-15 14:59:30 -05:00
Louis Dionne
357aeea527 [experimental] Add types<>, a Sequence specialized for holding types 2016-02-15 10:14:03 -05:00
Louis Dionne
23c3edc93b [NFC] Un-Doxygenize comments in non-header files 2016-02-04 11:07:41 -05:00
Louis Dionne
c3a195bc18 [benchmarks] Reduce the size of map benchmarks to reduce CI timeouts 2016-02-02 09:44:02 -05:00
Louis Dionne
b4578551db [benchmarks] Add benchmarks for creating different maps 2016-01-29 13:07:02 -05:00
Louis Dionne
fdc6335c2e [integer_sequence] Add unit tests and benchmarks for find_if
Initially, this commit was supposed to provide a slightly
optimized version of `find_if` for `integer_sequence`.
Unfortunately, benchmarking did not show any significant
difference, and so the current implementation will be kept.

Benchmark data is here: http://pastebin.com/t3M8YwzD
2016-01-29 13:04:33 -05:00
Louis Dionne
117c5047bf [benchmarks] Remove old benchmarks that are not used anymore 2016-01-28 12:34:10 -05:00
Louis Dionne
870281f601 Exclude some files from the Boost-inspect report
- chart.html contains a link to external content, but that's OK.
- doc/header.html and doc/footer.html contain "invalid links" and
  "invalid characters" because of $relpath^, which is understood by
  Doxygen.
2016-01-28 12:28:50 -05:00
Louis Dionne
65e1aa850f Add benchmarks for the sort algorithm 2016-01-27 16:15:43 -05:00
Louis Dionne
7c00d7beda [benchmarks] Remove unused variable warning in at_key benchmarks
Warnings happen when we access 0 keys in the container.
2016-01-25 23:20:07 -05: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
af27eb0ff5 [benchmarks] Add a baseline to the include benchmark 2016-01-19 08:36:30 -05:00
Louis Dionne
4f6db9132e [doc] Make sure charts are available offline 2016-01-15 16:50:12 -05:00
Louis Dionne
81ddcfafaf Rename take to take_front
This improves consistency:
drop_front/drop_back
take_front/take_back
2016-01-12 10:10:03 -05:00
Louis Dionne
c29c04c0a7 [doc] Improve the organization of the doc/ folder 2016-01-04 15:02:01 -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
feeea67453 [Doc] Add missing copyright notices in doc/
Fixes #228
2015-12-23 17:56:28 -05:00
Louis Dionne
45c94ff96d [Doc] Move chart-related JavaScript to doc/ and simplify the local chart viewer 2015-12-23 12:25:54 -05:00
Louis Dionne
fb3a6fb52f Drop support for Boost 1.57 and 1.58 2015-12-16 11:55:24 -05:00
Louis Dionne
48da4cf5c4 [Doc] Always use https for external scripts
As explained in [1], it seems that protocol-relative URLs are now an
anti-pattern. Hence, f750a7a was the wrong fix.

[1]: https://www.paulirish.com/2010/the-protocol-relative-url/
2015-11-27 17:35:10 -05:00
Louis Dionne
5e1d86b994 [Benchmarks] Give terminal access to the benchmarks with Ninja 2015-11-27 17:34:13 -05:00
Louis Dionne
62bed060b2 [Benchmarks] Remove the now useless measure.cpp file 2015-11-07 13:27:29 -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
87af378f54 [Benchmarks] Relax workarounds for Fusion's broken reverse_fold 2015-10-22 18:21:13 -04:00
Louis Dionne
33f2b4cf2f [Benchmarks] Improve transparency w.r.t Fusion algorithms
Specifically,

(1) We now benchmark with fusion::list too
(2) We now document our methodology for forcing the evaluation of algorithms

Note that we still use `as_list` and `as_vector` to force the evaluation
of algorithms instead of using e.g. `for_each`. This is because we want
to compare apples with apples, and for this we need to get a sequence of
computed values, not only for_each over the view. The disclaimer in the
tutorial saying "Fusion might encourage a different design" takes care
of warning people about the fact that we're not necessarily using
idiomatic Fusion, but not need to benchmark unfairly to try to
account for that.
2015-10-22 18:21:13 -04:00
Louis Dionne
dbd0fb9246 Change links from ldionne/hana to boostorg/hana 2015-10-19 09:41:47 -04: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
3e662013af [Benchmark] Allow navigating trough commits in the local chart viewer 2015-09-27 13:52:32 -04:00
Louis Dionne
c02483411a [Benchmarks] Use Boost.Hana instead of just Hana in #include benchs 2015-09-19 13:55:08 -04:00
Louis Dionne
7031c87624 [Benchmarks] Re-enable fold_right benchmarks for Fusion != 1.58.0
Also, remove unused class from measure.hpp.
2015-09-15 08:46:40 -04:00
Louis Dionne
41c64b39a9 [IntegralDomain] Rename quot/rem to div/mod
Fixes #180
2015-09-14 14:18:29 -04:00
Louis Dionne
049f8e1dd7 [unpack] Show the right benchmark in the docs (was showing transform's)
Also, sample every 2 increments, otherwise the graph is undreadable
2015-09-09 19:33:19 -04:00
Louis Dionne
db48f3508e [Foldable] Add benchmarks for unpack and folds, and optimimze unpack for tuple 2015-09-05 22:54:03 -04:00
Louis Dionne
2098e4b1a9 [Benchmarks] Fix the colors of the most commonly shown curves
Fixes #151
2015-09-04 11:01:27 -04:00
Louis Dionne
b9d0f6d2d1 [integral_constant] Rename IntegralConstant to integral_constant_tag 2015-09-03 13:29:17 -04:00