| 74 | } |
| 75 | |
| 76 | static void TypeEqualsWithMetadata( |
| 77 | benchmark::State& state) { // NOLINT non-const reference |
| 78 | auto md1 = key_value_metadata({"k1", "k2"}, {"some value1", "some value2"}); |
| 79 | auto md2 = key_value_metadata({"k1", "k2"}, {"some value1", "some value2"}); |
| 80 | auto md3 = key_value_metadata({"k2", "k1"}, {"some value2", "some value1"}); |
| 81 | |
| 82 | auto fa1 = field("as", list(float16())); |
| 83 | auto fa2 = field("as", list(float16())); |
| 84 | auto fb1 = field("bs", utf8(), /*nullable=*/true, md1); |
| 85 | auto fb2 = field("bs", utf8(), /*nullable=*/true, md2); |
| 86 | auto fb3 = field("bs", utf8(), /*nullable=*/true, md3); |
| 87 | |
| 88 | auto a = struct_({fa1, fb1}); |
| 89 | auto b = struct_({fa2, fb2}); |
| 90 | auto c = struct_({fa2, fb3}); |
| 91 | |
| 92 | int64_t total = 0; |
| 93 | for (auto _ : state) { |
| 94 | total += a->Equals(*b); |
| 95 | total += a->Equals(*c); |
| 96 | } |
| 97 | benchmark::DoNotOptimize(total); |
| 98 | state.SetItemsProcessed(state.iterations() * 2); |
| 99 | } |
| 100 | |
| 101 | static std::vector<std::shared_ptr<Schema>> SampleSchemas() { |
| 102 | auto fa1 = field("as", list(float16())); |
nothing calls this directly
no test coverage detected