Commit Graph

10 Commits

Author SHA1 Message Date
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
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
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
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
e42ce66d26 [Set,Map] Optimize several methods
Fixes #63
2015-08-23 12:00:59 -04:00
Louis Dionne
a04696007d [Benchmarks] Fix legend for fusion::vector's find_if 2015-05-30 19:55:10 -04:00
Louis Dionne
98a3c6658c [Benchmarks] Improve support for MPL11 and remove most homogeneous benchmarks 2015-05-05 18:46:00 -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
ca37fdfa4c [Doc] Add a section on performance in the tutorial
Also:
- Introduce the .js charts we have in the reference
- Remove the ugly "Generated by Doxygen" footer
- Refactor the benchmarks
2015-04-25 16:31:56 -04:00