Giter Site home page Giter Site logo

cpp-testing / ut-benchmark Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 20.71 MB

Benchmarks - Unit Testing Frameworks

Makefile 0.01% C++ 99.78% HTML 0.01% C 0.18% Shell 0.01% Perl 0.01% M4 0.01% Batchfile 0.01% CMake 0.01%
testing cpp-library cpp20 catch2 doctest googletest boost benchmarks

ut-benchmark's Issues

Difference in measurements between googletest and the rest of these libraries

Catch2 and doctest are "single header" but they are effectively a .cpp file and a .h file clumped together. I see that ut has also introduced the concept of BOOST_UT_IMPLEMENTATION but it currently provides much less functionality compared to Catch2 and doctest. In order to make the measurements completely fair one would need to either include the compilation of the googletest static library itself (which is obviously weird), or make static libraries for the implementations (test runners) of Catch2/doctest (and ut) and link against them (and when measuring time the compilation of the static library should be excluded - only the other .cpp file + linking should be considered). I'd argue that all 4 libraries should go through the process of linking a static library to make things equal.

doctest even provides the 2 parts (.cpp and a .h from which the final header is assembled) as separate files: https://github.com/onqtam/doctest/tree/master/doctest/parts

It would be cool if you could incorporate the use of FAST_CHECK_EQ(a, b) in a separate additional benchmark for doctest instead of the tradicional CHECK(a == b), but this is irrelevant to the current issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.