11#include < benchmark/benchmark.h>
22
33#include < rfl/avro.hpp>
4+ #include < rfl/boost_serialization.hpp>
45#include < rfl/bson.hpp>
56#include < rfl/capnproto.hpp>
67#include < rfl/cbor.hpp>
@@ -45,7 +46,7 @@ static FeatureCollection load_data() {
4546
4647// ----------------------------------------------------------------------------
4748
48- static void BM_canada_read_reflect_cpp_avro (benchmark::State & state) {
49+ static void BM_canada_read_reflect_cpp_avro (benchmark::State& state) {
4950 const auto schema = rfl::avro::to_schema<FeatureCollection>();
5051 const auto data = rfl::avro::write (load_data (), schema);
5152 for (auto _ : state) {
@@ -57,7 +58,7 @@ static void BM_canada_read_reflect_cpp_avro(benchmark::State &state) {
5758}
5859BENCHMARK (BM_canada_read_reflect_cpp_avro);
5960
60- static void BM_canada_read_reflect_cpp_bson (benchmark::State & state) {
61+ static void BM_canada_read_reflect_cpp_bson (benchmark::State& state) {
6162 const auto data = rfl::bson::write (load_data ());
6263 for (auto _ : state) {
6364 const auto res = rfl::bson::read<FeatureCollection>(data);
@@ -68,7 +69,19 @@ static void BM_canada_read_reflect_cpp_bson(benchmark::State &state) {
6869}
6970BENCHMARK (BM_canada_read_reflect_cpp_bson);
7071
71- static void BM_canada_read_reflect_cpp_capnproto (benchmark::State &state) {
72+ static void BM_canada_read_reflect_cpp_boost_serialization (
73+ benchmark::State& state) {
74+ const auto data = rfl::boost_serialization::write (load_data ());
75+ for (auto _ : state) {
76+ const auto res = rfl::boost_serialization::read<FeatureCollection>(data);
77+ if (!res) {
78+ std::cout << res.error ().what () << std::endl;
79+ }
80+ }
81+ }
82+ BENCHMARK (BM_canada_read_reflect_cpp_boost_serialization);
83+
84+ static void BM_canada_read_reflect_cpp_capnproto (benchmark::State& state) {
7285 const auto schema = rfl::capnproto::to_schema<FeatureCollection>();
7386 const auto data = rfl::capnproto::write (load_data (), schema);
7487 for (auto _ : state) {
@@ -80,7 +93,7 @@ static void BM_canada_read_reflect_cpp_capnproto(benchmark::State &state) {
8093}
8194BENCHMARK (BM_canada_read_reflect_cpp_capnproto);
8295
83- static void BM_canada_read_reflect_cpp_cbor (benchmark::State & state) {
96+ static void BM_canada_read_reflect_cpp_cbor (benchmark::State& state) {
8497 const auto data = rfl::cbor::write (load_data ());
8598 for (auto _ : state) {
8699 const auto res = rfl::cbor::read<FeatureCollection>(data);
@@ -92,7 +105,7 @@ static void BM_canada_read_reflect_cpp_cbor(benchmark::State &state) {
92105BENCHMARK (BM_canada_read_reflect_cpp_cbor);
93106
94107static void BM_canada_read_reflect_cpp_cbor_without_field_names (
95- benchmark::State & state) {
108+ benchmark::State& state) {
96109 const auto data = rfl::cbor::write<rfl::NoFieldNames>(load_data ());
97110 for (auto _ : state) {
98111 const auto res =
@@ -104,7 +117,7 @@ static void BM_canada_read_reflect_cpp_cbor_without_field_names(
104117}
105118BENCHMARK (BM_canada_read_reflect_cpp_cbor_without_field_names);
106119
107- static void BM_canada_read_reflect_cpp_flexbuf (benchmark::State & state) {
120+ static void BM_canada_read_reflect_cpp_flexbuf (benchmark::State& state) {
108121 const auto data = rfl::flexbuf::write (load_data ());
109122 for (auto _ : state) {
110123 const auto res = rfl::flexbuf::read<FeatureCollection>(data);
@@ -116,7 +129,7 @@ static void BM_canada_read_reflect_cpp_flexbuf(benchmark::State &state) {
116129BENCHMARK (BM_canada_read_reflect_cpp_flexbuf);
117130
118131static void BM_canada_read_reflect_cpp_flexbuf_without_field_names (
119- benchmark::State & state) {
132+ benchmark::State& state) {
120133 const auto data = rfl::flexbuf::write<rfl::NoFieldNames>(load_data ());
121134 for (auto _ : state) {
122135 const auto res =
@@ -128,7 +141,7 @@ static void BM_canada_read_reflect_cpp_flexbuf_without_field_names(
128141}
129142BENCHMARK (BM_canada_read_reflect_cpp_flexbuf_without_field_names);
130143
131- static void BM_canada_read_reflect_cpp_json (benchmark::State & state) {
144+ static void BM_canada_read_reflect_cpp_json (benchmark::State& state) {
132145 const auto data = rfl::json::write (load_data ());
133146 for (auto _ : state) {
134147 const auto res = rfl::json::read<FeatureCollection>(data);
@@ -140,7 +153,7 @@ static void BM_canada_read_reflect_cpp_json(benchmark::State &state) {
140153BENCHMARK (BM_canada_read_reflect_cpp_json);
141154
142155static void BM_canada_read_reflect_cpp_json_without_field_names (
143- benchmark::State & state) {
156+ benchmark::State& state) {
144157 const auto data = rfl::json::write<rfl::NoFieldNames>(load_data ());
145158 for (auto _ : state) {
146159 const auto res =
@@ -152,7 +165,7 @@ static void BM_canada_read_reflect_cpp_json_without_field_names(
152165}
153166BENCHMARK (BM_canada_read_reflect_cpp_json_without_field_names);
154167
155- static void BM_canada_read_reflect_cpp_msgpack (benchmark::State & state) {
168+ static void BM_canada_read_reflect_cpp_msgpack (benchmark::State& state) {
156169 const auto data = rfl::msgpack::write (load_data ());
157170 for (auto _ : state) {
158171 const auto res = rfl::msgpack::read<FeatureCollection>(data);
@@ -164,7 +177,7 @@ static void BM_canada_read_reflect_cpp_msgpack(benchmark::State &state) {
164177BENCHMARK (BM_canada_read_reflect_cpp_msgpack);
165178
166179static void BM_canada_read_reflect_cpp_msgpack_without_field_names (
167- benchmark::State & state) {
180+ benchmark::State& state) {
168181 const auto data = rfl::msgpack::write<rfl::NoFieldNames>(load_data ());
169182 for (auto _ : state) {
170183 const auto res =
@@ -176,7 +189,7 @@ static void BM_canada_read_reflect_cpp_msgpack_without_field_names(
176189}
177190BENCHMARK (BM_canada_read_reflect_cpp_msgpack_without_field_names);
178191
179- static void BM_canada_read_reflect_cpp_toml (benchmark::State & state) {
192+ static void BM_canada_read_reflect_cpp_toml (benchmark::State& state) {
180193 const auto data = rfl::toml::write (load_data ());
181194 for (auto _ : state) {
182195 const auto res = rfl::toml::read<FeatureCollection>(data);
@@ -187,7 +200,7 @@ static void BM_canada_read_reflect_cpp_toml(benchmark::State &state) {
187200}
188201BENCHMARK (BM_canada_read_reflect_cpp_toml);
189202
190- static void BM_canada_read_reflect_cpp_ubjson (benchmark::State & state) {
203+ static void BM_canada_read_reflect_cpp_ubjson (benchmark::State& state) {
191204 const auto data = rfl::ubjson::write (load_data ());
192205 for (auto _ : state) {
193206 const auto res = rfl::ubjson::read<FeatureCollection>(data);
@@ -199,7 +212,7 @@ static void BM_canada_read_reflect_cpp_ubjson(benchmark::State &state) {
199212BENCHMARK (BM_canada_read_reflect_cpp_ubjson);
200213
201214static void BM_canada_read_reflect_cpp_ubjson_without_field_names (
202- benchmark::State & state) {
215+ benchmark::State& state) {
203216 const auto data = rfl::ubjson::write<rfl::NoFieldNames>(load_data ());
204217 for (auto _ : state) {
205218 const auto res =
@@ -211,7 +224,7 @@ static void BM_canada_read_reflect_cpp_ubjson_without_field_names(
211224}
212225BENCHMARK (BM_canada_read_reflect_cpp_ubjson_without_field_names);
213226
214- static void BM_canada_read_reflect_cpp_yaml (benchmark::State & state) {
227+ static void BM_canada_read_reflect_cpp_yaml (benchmark::State& state) {
215228 const auto data = rfl::yaml::write (load_data ());
216229 for (auto _ : state) {
217230 const auto res = rfl::yaml::read<FeatureCollection>(data);
@@ -225,4 +238,3 @@ BENCHMARK(BM_canada_read_reflect_cpp_yaml);
225238// ----------------------------------------------------------------------------
226239
227240} // namespace canada_read
228-
0 commit comments