Precompile python sources

This signifigantly improves the startup time of soong-built
python binaries. For example, running
`m apexer && time out/host/linux-x86/bin/apexer` gives
0.734s before this cl, and 0.094s after.

Fixes: 259718110
Test: Presubmits
Change-Id: Ib19e83e2c60c39a849525be117279c318de3afa7
This commit is contained in:
Cole Faust
2023-01-24 11:48:08 -08:00
parent 3420d978cf
commit 5c503d1c43
11 changed files with 295 additions and 96 deletions

View File

@@ -27,7 +27,10 @@ def assert_equal(what, a, b):
failed = True
assert_equal("__name__", __name__, "__main__")
assert_equal("os.path.basename(__file__)", os.path.basename(__file__), "par_test.py")
fileName = os.path.basename(__file__)
if fileName.endswith('.pyc'):
fileName = fileName[:-1]
assert_equal("os.path.basename(__file__)", fileName, "par_test.py")
archive = os.path.dirname(__file__)