gh-118761: Optimise import time for ast (#131953)

This commit is contained in:
Adam Turner 2025-04-02 17:22:15 +01:00 committed by GitHub
parent ad053d8d6a
commit f20f02e6b5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 1168 additions and 1144 deletions

1
.github/CODEOWNERS vendored
View file

@ -188,6 +188,7 @@ Python/ast_opt.c @isidentical @eclips4
Parser/asdl.py @isidentical @JelleZijlstra @eclips4 Parser/asdl.py @isidentical @JelleZijlstra @eclips4
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4
Lib/ast.py @isidentical @JelleZijlstra @eclips4 Lib/ast.py @isidentical @JelleZijlstra @eclips4
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4
Lib/test/test_ast/ @eclips4 Lib/test/test_ast/ @eclips4
# Mock # Mock

1150
Lib/_ast_unparse.py Normal file

File diff suppressed because it is too large Load diff

1155
Lib/ast.py

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,4 @@
import _ast_unparse
import ast import ast
import builtins import builtins
import copy import copy
@ -732,7 +733,7 @@ class AST_Tests(unittest.TestCase):
return self.__class__(self + 1) return self.__class__(self + 1)
except ValueError: except ValueError:
return self return self
enum._test_simple_enum(_Precedence, ast._Precedence) enum._test_simple_enum(_Precedence, _ast_unparse._Precedence)
@support.cpython_only @support.cpython_only
@skip_wasi_stack_overflow() @skip_wasi_stack_overflow()

View file

@ -0,0 +1,2 @@
Improve the import time of the :mod:`ast` module by extracting the
:func:`~ast.unparse` function to a helper module.

View file

@ -8,6 +8,7 @@ static const char* _Py_stdlib_module_names[] = {
"_android_support", "_android_support",
"_apple_support", "_apple_support",
"_ast", "_ast",
"_ast_unparse",
"_asyncio", "_asyncio",
"_bisect", "_bisect",
"_blake2", "_blake2",