-
-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
make check compilation is unneccesarily slow #445
Comments
Wow, I can confirm a 2x improvement: before
after:
Thanks so much! |
I'd also recommend pulling in Catch 1.7.0, I got about a 30% speed up on actual runtime of the test suite. |
You added dependency on |
Well... This is embarrassing... Thank you! I shall also try Catch 1.7.0. |
Unfortunately, Catch 1.7.0 yields a lot of compilation errors
|
I opened an issue at Catch. The job here is done. Thanks a lot! |
I recently used this project's test suite for some performance measurement of Catch and found out couple of things
When I was investigating 2., I found out that when I run
make check
, the test suite is compiled into several distinct test binaries and each of those binaries is then ran. The proverbial devil is in the fact that for each of those 33 test binaries, the entire Catch main is compiled again for each of those, instead of having the Catch's main compiled once and then linked into each of the test binaries.If I change the makefile so that the catch main is compiled once and only lnked into each test binary, the same PC that needed 16 minutes to compile the test binaries from nothing needs only 7 minutes, 45 s.
The relevant part of makefiles is in
test/Makefile
:if the
-DCATCH_CONFIG_MAIN
was replaced bysrc/unit.o
(and the file was also added to dependencies), the compilation should still work and be significantly faster.The text was updated successfully, but these errors were encountered: