diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-11-22 21:21:36 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-11-22 21:21:36 +0000 |
commit | 95edd05c75af2208c62174d135d76b897969a9af (patch) | |
tree | 34e957ef20bd7e1005197100d52b2d23432801b0 /mach | |
parent | cc6c89faf3f7dc545d9794c07b6eb101192dc24d (diff) | |
download | glibc-95edd05c75af2208c62174d135d76b897969a9af.tar.gz glibc-95edd05c75af2208c62174d135d76b897969a9af.tar.xz glibc-95edd05c75af2208c62174d135d76b897969a9af.zip |
Combine more conformtest tests into single execution of the compiler.
In <https://sourceware.org/ml/libc-alpha/2018-11/msg00225.html>, Florian reported that the change from conformtest.pl to conformtest.py had increased conform/ test time, possibly because of increased startup overhead for Python scripts. This patch improves conformtest.py performance by arranging for as many tests of a (header, standard) pair as possible to use a single execution of the compiler, so it does not need to initialize and parse the whole header under test separately for every test assertion. Specifically, compilation tests that are not marked as "optional" or "xfail" are combined into a single source file, and are only then run separately if compilation of that combined file fails. For me, this reduces the wall clock time for the conformtest.py tests (not the whole of the conform/ directory) from two minutes to 15 seconds. Tested for x86_64, and with build-many-glibcs.py. * conform/conformtest.py (CompileSubTest.__init__): Set self.run_early to False. (ExecuteSubTest.__init__): Likewise. (HeaderTests.run): Try running all non-optional, non-XFAILed compilation tests in a single execution of the compiler.
Diffstat (limited to 'mach')
0 files changed, 0 insertions, 0 deletions