hana/benchmark/including/compile.erb.json
2019-09-24 17:37:34 -04:00

74 lines
1.4 KiB
JSON

<%
def self.avg(xs)
xs.inject(0, :+) / xs.length
end
def self.amortize(file)
# We remove the first one to mitigate cache effects
times = time_compilation(file, 6.times)
times.shift
avg(times.map { |_, t| t })
end
%>
{
"chart": {
"type": "column"
},
"legend": {
"enabled": false
},
"xAxis": {
"type": "category"
},
"title": {
"text": "Including various metaprogramming libraries"
},
"plotOptions": {
"series": {
"borderWidth": 0,
"dataLabels": {
"enabled": true,
"format": "{point.y:.5f}s"
}
}
},
"series": [{
"name": "Include time",
"colorByPoint": true,
"data": [
{
"name": "Baseline (no includes)",
"y": <%= amortize('baseline.erb.cpp') %>
}, {
"name": "Boost.Hana",
"y": <%= amortize('hana.erb.cpp') %>
}
<% if cmake_bool("@Boost_FOUND@") %>
, {
"name": "Boost.MPL",
"y": <%= amortize('mpl.erb.cpp') %>
}, {
"name": "Boost.Fusion",
"y": <%= amortize('fusion.erb.cpp') %>
}
<% end %>
<% if cmake_bool("@MPL11_FOUND@") %>
, {
"name": "MPL11",
"y": <%= amortize('mpl11.erb.cpp') %>
}
<% end %>
<% if cmake_bool("@Meta_FOUND@") %>
, {
"name": "Meta",
"y": <%= amortize('meta.erb.cpp') %>
}
<% end %>
]
}]
}