DigitalInBlue / Celero

C++ Benchmark Authoring Library/Framework
Other
822 stars 96 forks source link

Celero/experiments/ExperimentCompressBools has a bad cast #170

Closed mt-xiyinli closed 12 months ago

mt-xiyinli commented 1 year ago

Bug Report

in case Celero/experiments/ExperimentCompressBools ‘’‘ void setUp(const celero::TestFixture::ExperimentValue& experimentValue) override { CompressBoolsFixture::setUp(experimentValue);

    auto ev = dynamic_cast<const MyExperimentValue&>(experimentValue);
    this->numBytes = ev.NumBytes;
    this->numFullBytes = ev.NumFullBytes;
    this->outputValues.reset(new uint8_t[this->numBytes]);
}

’‘’ the dynamic_cast is a bad cast when running

Feature Request

i want add my experimentValue such as int x,y,z but the problespace show xyz,i follow this example but failed when running

mt-xiyinli commented 1 year ago

the part of running log is below:

Timer resolution: 0.001000 us |CompressBoolsTe | NoPackingVersio | 1000000 | |CompressBoolsTe | NoPackingVersio | 2000000 | |CompressBoolsTe | NoPackingVersio | 3000000 | |CompressBoolsTe | NoPackingVersio | 4000000 | |CompressBoolsTe | NoPackingVersio | 5000000 | |CompressBoolsTe | StdBitset | 1000000 | |CompressBoolsTe | StdBitset | 2000000 | |CompressBoolsTe | StdBitset | 3000000 | |CompressBoolsTe | StdBitset | 4000000 | |CompressBoolsTe | StdBitset | 5000000 | |CompressBoolsTe | StdVector | 1000000 | |CompressBoolsTe | StdVector | 2000000 | |CompressBoolsTe | StdVector | 3000000 | |CompressBoolsTe | StdVector | 4000000 | |CompressBoolsTe | StdVector | 5000000 | |CompressBoolsTe | SingleVarVersio | 1000000 | C++ exception "std::bad_cast" |CompressBoolsTe | SingleVarVersio | 2000000 | C++ exception "std::bad_cast" |CompressBoolsTe | SingleVarVersio | 3000000 | C++ exception "std::bad_cast" |CompressBoolsTe | SingleVarVersio | 4000000 | C++ exception "std::bad_cast" |CompressBoolsTe | SingleVarVersio | 5000000 | C++ exception "std::bad_cast" |CompressBoolsTe | NotDepentendVer | 1000000 | C++ exception "std::bad_cast" |CompressBoolsTe | NotDepentendVer | 2000000 | C++ exception "std::bad_cast" |CompressBoolsTe | NotDepentendVer | 3000000 | C++ exception "std::bad_cast" |CompressBoolsTe | NotDepentendVer | 4000000 | C++ exception "std::bad_cast" |CompressBoolsTe | NotDepentendVer | 5000000 | C++ exception "std::bad_cast" |CompressBoolsTe | PackedStructVer | 1000000 | |CompressBoolsTe | PackedStructVer | 2000000 | |CompressBoolsTe | PackedStructVer | 3000000 | |CompressBoolsTe | PackedStructVer | 4000000 | |CompressBoolsTe | PackedStructVer | 5000000 | |CompressBoolsTe | WithOpenMP | 1000000 | C++ exception "std::bad_cast" |CompressBoolsTe | WithOpenMP | 2000000 | C++ exception "std::bad_cast" |CompressBoolsTe | WithOpenMP | 3000000 | C++ exception "std::bad_cast" |CompressBoolsTe | WithOpenMP | 4000000 | C++ exception "std::bad_cast" |CompressBoolsTe | WithOpenMP | 5000000 | C++ exception "std::bad_cast"

DigitalInBlue commented 1 year ago

Thanks for pointing this out. I've got a fix for this that will be merged in the next version.