2
0
mirror of https://github.com/boostorg/hana.git synced 2026-01-27 19:02:12 +00:00
Files
hana/benchmark/at/execute.erb.json
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

31 lines
757 B
JSON

<% exec = (1..50).step(5).to_a %>
{
"title": {
"text": "Runtime behavior of at"
},
"series": [
{
"name": "hana::tuple",
"data": <%= time_execution('execute.hana.tuple.erb.cpp', exec) %>
}
<% if not ("@CMAKE_CXX_COMPILER_ID@" == "Clang" &&
"@CMAKE_CXX_COMPILER_VERSION@" == "3.5.0") %>
, {
"name": "std::tuple",
"data": <%= time_execution('execute.std.tuple.erb.cpp', exec) %>
}
<% end %>
<% if cmake_bool("@Boost_FOUND@") %>
, {
"name": "fusion::vector",
"data": <%= time_execution('execute.fusion.vector.erb.cpp', exec) %>
}, {
"name": "fusion::list",
"data": <%= time_execution('execute.fusion.list.erb.cpp', exec) %>
}
<% end %>
]
}