summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/hana/benchmark/including
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/hana/benchmark/including
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/hana/benchmark/including')
-rw-r--r--src/boost/libs/hana/benchmark/including/baseline.erb.cpp6
-rw-r--r--src/boost/libs/hana/benchmark/including/compile.erb.json73
-rw-r--r--src/boost/libs/hana/benchmark/including/fusion.erb.cpp16
-rw-r--r--src/boost/libs/hana/benchmark/including/hana.erb.cpp8
-rw-r--r--src/boost/libs/hana/benchmark/including/meta.erb.cpp8
-rw-r--r--src/boost/libs/hana/benchmark/including/mpl.erb.cpp155
-rw-r--r--src/boost/libs/hana/benchmark/including/mpl11.erb.cpp8
7 files changed, 274 insertions, 0 deletions
diff --git a/src/boost/libs/hana/benchmark/including/baseline.erb.cpp b/src/boost/libs/hana/benchmark/including/baseline.erb.cpp
new file mode 100644
index 000000000..932facb47
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/baseline.erb.cpp
@@ -0,0 +1,6 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+
+int main() { }
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 %>
+ ]
+ }]
+}
diff --git a/src/boost/libs/hana/benchmark/including/fusion.erb.cpp b/src/boost/libs/hana/benchmark/including/fusion.erb.cpp
new file mode 100644
index 000000000..bae08353a
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/fusion.erb.cpp
@@ -0,0 +1,16 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <boost/fusion/adapted.hpp>
+#include <boost/fusion/algorithm.hpp>
+#include <boost/fusion/container.hpp>
+#include <boost/fusion/functional.hpp>
+#include <boost/fusion/iterator.hpp>
+#include <boost/fusion/sequence.hpp>
+#include <boost/fusion/support.hpp>
+#include <boost/fusion/tuple.hpp>
+#include <boost/fusion/view.hpp>
+
+
+int main() { }
diff --git a/src/boost/libs/hana/benchmark/including/hana.erb.cpp b/src/boost/libs/hana/benchmark/including/hana.erb.cpp
new file mode 100644
index 000000000..e35e81350
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/hana.erb.cpp
@@ -0,0 +1,8 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <boost/hana.hpp>
+
+
+int main() { }
diff --git a/src/boost/libs/hana/benchmark/including/meta.erb.cpp b/src/boost/libs/hana/benchmark/including/meta.erb.cpp
new file mode 100644
index 000000000..492d2f9ed
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/meta.erb.cpp
@@ -0,0 +1,8 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <meta/meta.hpp>
+
+
+int main() { }
diff --git a/src/boost/libs/hana/benchmark/including/mpl.erb.cpp b/src/boost/libs/hana/benchmark/including/mpl.erb.cpp
new file mode 100644
index 000000000..167eb3765
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/mpl.erb.cpp
@@ -0,0 +1,155 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <boost/mpl/accumulate.hpp>
+#include <boost/mpl/advance.hpp>
+#include <boost/mpl/alias.hpp>
+#include <boost/mpl/always.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/mpl/arg.hpp>
+#include <boost/mpl/arithmetic.hpp>
+#include <boost/mpl/as_sequence.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/at.hpp>
+#include <boost/mpl/back.hpp>
+#include <boost/mpl/back_inserter.hpp>
+#include <boost/mpl/base.hpp>
+#include <boost/mpl/begin.hpp>
+#include <boost/mpl/bind.hpp>
+#include <boost/mpl/bitand.hpp>
+#include <boost/mpl/bitor.hpp>
+#include <boost/mpl/bitwise.hpp>
+#include <boost/mpl/bitxor.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/char.hpp>
+#include <boost/mpl/clear.hpp>
+#include <boost/mpl/comparison.hpp>
+#include <boost/mpl/contains.hpp>
+#include <boost/mpl/copy.hpp>
+#include <boost/mpl/copy_if.hpp>
+#include <boost/mpl/count.hpp>
+#include <boost/mpl/count_if.hpp>
+#include <boost/mpl/deque.hpp>
+#include <boost/mpl/deref.hpp>
+#include <boost/mpl/distance.hpp>
+#include <boost/mpl/divides.hpp>
+#include <boost/mpl/empty.hpp>
+#include <boost/mpl/empty_base.hpp>
+#include <boost/mpl/empty_sequence.hpp>
+#include <boost/mpl/end.hpp>
+#include <boost/mpl/equal.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/erase.hpp>
+#include <boost/mpl/erase_key.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/filter_view.hpp>
+#include <boost/mpl/find.hpp>
+#include <boost/mpl/find_if.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/for_each.hpp>
+#include <boost/mpl/front.hpp>
+#include <boost/mpl/front_inserter.hpp>
+#include <boost/mpl/greater.hpp>
+#include <boost/mpl/greater_equal.hpp>
+#include <boost/mpl/has_key.hpp>
+#include <boost/mpl/has_xxx.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/index_if.hpp>
+#include <boost/mpl/index_of.hpp>
+#include <boost/mpl/inherit.hpp>
+#include <boost/mpl/inherit_linearly.hpp>
+#include <boost/mpl/insert.hpp>
+#include <boost/mpl/insert_range.hpp>
+#include <boost/mpl/inserter.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+#include <boost/mpl/is_placeholder.hpp>
+#include <boost/mpl/is_sequence.hpp>
+#include <boost/mpl/iter_fold.hpp>
+#include <boost/mpl/iter_fold_if.hpp>
+#include <boost/mpl/iterator_category.hpp>
+#include <boost/mpl/iterator_range.hpp>
+#include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/joint_view.hpp>
+#include <boost/mpl/key_type.hpp>
+#include <boost/mpl/lambda.hpp>
+#include <boost/mpl/less.hpp>
+#include <boost/mpl/less_equal.hpp>
+#include <boost/mpl/list.hpp>
+#include <boost/mpl/list_c.hpp>
+#include <boost/mpl/logical.hpp>
+#include <boost/mpl/long.hpp>
+#include <boost/mpl/lower_bound.hpp>
+#include <boost/mpl/map.hpp>
+#include <boost/mpl/max.hpp>
+#include <boost/mpl/max_element.hpp>
+#include <boost/mpl/min.hpp>
+#include <boost/mpl/min_element.hpp>
+#include <boost/mpl/min_max.hpp>
+#include <boost/mpl/minus.hpp>
+#include <boost/mpl/modulus.hpp>
+#include <boost/mpl/multiplies.hpp>
+#include <boost/mpl/negate.hpp>
+#include <boost/mpl/next.hpp>
+#include <boost/mpl/next_prior.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/not_equal_to.hpp>
+#include <boost/mpl/numeric_cast.hpp>
+#include <boost/mpl/O1_size.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/order.hpp>
+#include <boost/mpl/pair.hpp>
+#include <boost/mpl/pair_view.hpp>
+#include <boost/mpl/partition.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/plus.hpp>
+#include <boost/mpl/pop_back.hpp>
+#include <boost/mpl/pop_front.hpp>
+#include <boost/mpl/print.hpp>
+#include <boost/mpl/prior.hpp>
+#include <boost/mpl/protect.hpp>
+#include <boost/mpl/push_back.hpp>
+#include <boost/mpl/push_front.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/mpl/range_c.hpp>
+#include <boost/mpl/remove.hpp>
+#include <boost/mpl/remove_if.hpp>
+#include <boost/mpl/replace.hpp>
+#include <boost/mpl/replace_if.hpp>
+#include <boost/mpl/reverse.hpp>
+#include <boost/mpl/reverse_fold.hpp>
+#include <boost/mpl/reverse_iter_fold.hpp>
+#include <boost/mpl/same_as.hpp>
+#include <boost/mpl/sequence_tag.hpp>
+#include <boost/mpl/set.hpp>
+#include <boost/mpl/set_c.hpp>
+#include <boost/mpl/shift_left.hpp>
+#include <boost/mpl/shift_right.hpp>
+#include <boost/mpl/single_view.hpp>
+#include <boost/mpl/size.hpp>
+#include <boost/mpl/size_t.hpp>
+#include <boost/mpl/sizeof.hpp>
+#include <boost/mpl/sort.hpp>
+#include <boost/mpl/stable_partition.hpp>
+#include <boost/mpl/string.hpp>
+#include <boost/mpl/switch.hpp>
+#include <boost/mpl/tag.hpp>
+#include <boost/mpl/times.hpp>
+#include <boost/mpl/transform.hpp>
+#include <boost/mpl/transform_view.hpp>
+#include <boost/mpl/unique.hpp>
+#include <boost/mpl/unpack_args.hpp>
+#include <boost/mpl/upper_bound.hpp>
+#include <boost/mpl/value_type.hpp>
+#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector_c.hpp>
+#include <boost/mpl/void.hpp>
+#include <boost/mpl/zip_view.hpp>
+
+
+int main() { }
diff --git a/src/boost/libs/hana/benchmark/including/mpl11.erb.cpp b/src/boost/libs/hana/benchmark/including/mpl11.erb.cpp
new file mode 100644
index 000000000..e5b9fd512
--- /dev/null
+++ b/src/boost/libs/hana/benchmark/including/mpl11.erb.cpp
@@ -0,0 +1,8 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <boost/mpl11.hpp>
+
+
+int main() { }