// // Copyright 2015 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // IndexDataManagerPerfTest: // Performance test for index buffer management. // #include "ANGLEPerfTest.h" #include #include "common/bitset_utils.h" using namespace testing; namespace { template class BitSetIteratorPerfTest : public ANGLEPerfTest { public: BitSetIteratorPerfTest(); void step() override; T mBits; }; template BitSetIteratorPerfTest::BitSetIteratorPerfTest() : ANGLEPerfTest("BitSetIteratorPerf", "", "_run", 1) {} template void BitSetIteratorPerfTest::step() { mBits.flip(); for (size_t bit : mBits) { ANGLE_UNUSED_VARIABLE(bit); } mBits.reset(); } // These type names unfortunately don't get printed correctly in Gtest. using TestTypes = Types, angle::BitSet64<32>, angle::BitSet64<64>, angle::BitSet<96>, angle::BitSetArray<96>>; TYPED_TEST_SUITE(BitSetIteratorPerfTest, TestTypes); TYPED_TEST(BitSetIteratorPerfTest, Run) { this->run(); } } // anonymous namespace