Page MenuHomeFreeBSD

Major improvement to build parallelism for googletest internal tests
ClosedPublic

Authored by arichardson on Oct 12 2020, 12:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 10, 5:45 AM
Unknown Object (File)
Tue, Dec 3, 3:28 PM
Unknown Object (File)
Tue, Dec 3, 3:27 PM
Unknown Object (File)
Tue, Dec 3, 3:27 PM
Unknown Object (File)
Tue, Dec 3, 3:27 PM
Unknown Object (File)
Tue, Dec 3, 3:08 PM
Unknown Object (File)
Wed, Nov 27, 3:50 PM
Unknown Object (File)
Sun, Nov 24, 6:45 PM
Subscribers

Details

Summary

Currently the googletest internal tests build after the matching library.
However, each of these is serialized at the top level makefile.
Additionally some of the tests (e.g. the gmock-matches-test) take up to
90 seconds to build with clang -O2. Having to wait for this test to
complete before continuing to the next directory seriously slows down the
parllelism of a -j32 build.
Before this change running make -C lib/googletest -j32 -s in buildenv
took 202 seconds, now it's 153 due to improved parallelism.

Test Plan

Still compiles, TESTSDIR still matches so this should not result in any functional change.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

arichardson created this revision.
lib/googletest/Makefile.inc
13 ↗(On Diff #78130)

same here.

lib/googletest/tests/gtest_main/Makefile
47 ↗(On Diff #78130)

Ah that should not be part of the revision, will remove before committing.

This revision was not accepted when it landed; it landed in state Needs Review.Oct 19 2020, 7:51 PM
This revision was automatically updated to reflect the committed changes.