This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author brett.cannon
Recipients Trundle, benjamin.peterson, brett.cannon, eric.araujo, eric.snow, ncoghlan, vstinner
Date 2012-02-24.18:29:26
SpamBayes Score 4.68295e-07
Marked as misclassified No
Message-id <>
OK, I have now done as much C code as I'm going to do for the __import__() function. It has gotten bootstrapped importlib within 10% of normal_startup against default.

That leaves (possibly) rewriting BuiltinImporter in C and then just good old fashioned optimizations of the Python code.

I'm going to continue to use the normal_startup benchmark as my gold standard benchmark and importlib.test.benchmark just for iterative testing that a change made an impact (until there is another Python 3 benchmark that measures startup time using a real-world app). With that in mind and taking a PyPy style approach, that means I should focus on top-level, non-package imports first (28 of them), followed by builtins (14), submodules (4), packages (2), and then extensions (2). And if you don't want to do the math, there are 50 imports when starting Python, of which only 9 seem to follow (and include) site.
Date User Action Args
2012-02-24 18:29:27brett.cannonsetrecipients: + brett.cannon, ncoghlan, vstinner, benjamin.peterson, eric.araujo, Trundle, eric.snow
2012-02-24 18:29:27brett.cannonsetmessageid: <>
2012-02-24 18:29:26brett.cannonlinkissue2377 messages
2012-02-24 18:29:26brett.cannoncreate