summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/hana/benchmark/including/compile.erb.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/hana/benchmark/including/compile.erb.json')
-rw-r--r--src/boost/libs/hana/benchmark/including/compile.erb.json73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/boost/libs/hana/benchmark/including/compile.erb.json b/src/boost/libs/hana/benchmark/including/compile.erb.json
new file mode 100644
index 000000000..2441a4ee1
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/compile.erb.json
@@ -0,0 +1,73 @@
+<%
+ 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 %>
+ ]
+ }]
+}