-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Meta] Catch's performance #781
Comments
There is a request for special macros that only check for equality, without having expression decomposition, etc in #668. |
After merging in Using 3 benchmarks
I ended with these numbers
I also ran compile time benchmarks for the JSON tests and there has definitely been a regression in compile time. Compiling all the tests from nothing with Catch 1.6.1 takes ~15minutes, 25 seconds. Compiling with current master takes ~16 minutes. |
Not bad! And nice use of a real world project |
FYI, the complaint I was given by one build engineer last year was that the compile time was becoming too long. I suggested precompiled headers, but he wasn't sure how to do it right on Linux. |
@GatoRat Yeah, there definitely has been some compile time regression (I added compile time information to the post above), as the framework gains more features there is more code that the compiler has to chug through. If you have some specific code that has gotten significantly worse, please share. Otherwise, the compile times should get a bit better soon, Phil has some simplification in store. |
The new compile time flag ( |
Another ~15% speedup for test compilation using |
As well know, Catch's performance, at both runtime and compile time, could be better.
Some changes are on their way to master, but more could be always done. To that end, benchmarks (self-contained test suites) that show pathological usage patterns, representative usage patterns or just unexpected slowness, are welcome.
Obviously, so are PR's against
dev-performance
branch.The text was updated successfully, but these errors were encountered: