hana/benchmark/fold_left/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

32 lines
779 B
JSON

<%
exec = (0..100).step(10).to_a
fusion = (0..50).step(10).to_a
%>
{
"title": {
"text": "Runtime behavior of fold_left"
},
"series": [
{
"name": "hana::tuple",
"data": <%= time_execution('execute.hana.tuple.erb.cpp', exec) %>
}, {
"name": "std::vector",
"data": <%= time_execution('execute.std.vector.erb.cpp', exec) %>
}, {
"name": "std::array",
"data": <%= time_execution('execute.std.array.erb.cpp', exec) %>
}
<% if cmake_bool("@Boost_FOUND@") %>
, {
"name": "fusion::vector",
"data": <%= time_execution('execute.fusion.vector.erb.cpp', fusion) %>
}, {
"name": "fusion::list",
"data": <%= time_execution('execute.fusion.list.erb.cpp', fusion) %>
}
<% end %>
]
}