Hi, I applied the patch above to count the number of times that Python is run. Running the Python test suite with "./python -m test -j0 -rW" runs Python 2,256 times.
Honestly, I expected more. I'm running tests with Python compiled in debug mode. And in debug mode, Python startup time is much worse: haypo@selma$ python3 -m perf command --inherit=PYTHONPATH -v -- ./python -c pass command: Mean +- std dev: 46.4 ms +- 2.3 ms FYI I'm using gcc -O0 rather than -Og to make compilation even faster. Victor diff --git a/Lib/site.py b/Lib/site.py index 7dc1b04..4b0c167 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -540,6 +540,21 @@ def execusercustomize(): (err.__class__.__name__, err)) +def run_counter(): + import fcntl + + fd = os.open("/home/haypo/prog/python/master/run_counter", + os.O_WRONLY | os.O_CREAT | os.O_APPEND) + try: + fcntl.flock(fd, fcntl.LOCK_EX) + try: + os.write(fd, b'\x01') + finally: + fcntl.flock(fd, fcntl.LOCK_UN) + finally: + os.close(fd) + + def main(): """Add standard site-specific directories to the module search path. @@ -568,6 +583,7 @@ def main(): execsitecustomize() if ENABLE_USER_SITE: execusercustomize() + run_counter() # Prevent extending of sys.path when python was started with -S and # site is imported later. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com