12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <%
- 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 %>
- ]
- }]
- }
|