gh-136669: build _asyncio as static module#136670
gh-136669: build _asyncio as static module#136670kumaraditya303 merged 8 commits intopython:mainfrom
_asyncio as static module#136670Conversation
5f8d9d2 to
48a8c84
Compare
AA-Turner
left a comment
There was a problem hiding this comment.
I think it would be better to keep _asyncio in Setup.stdlib.in, it isn't really in the same category as boostrap.in. You could instead add the *static* directive in a new section at the end of the file, see e.g. the current *shared* directive on line 187. Would this work?
A
Yes, that worked, I have changed it now. Thanks |
|
🤖 New build scheduled with the buildbot fleet by @kumaraditya303 for commit 87ff8fc 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F136670%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
Looks like there is some network issue on ubuntu bots. |
|
The CI is fixed now and tested locally on macOS: ❯ sudo ./python.exe -m test test_external_inspection -v
== CPython 3.15.0a0 (heads/asyncio-perf:424b6568065, Jul 16 2025, 16:43:27) [Clang 17.0.0 (clang-1700.0.13.5)]
== macOS-15.5-arm64-arm-64bit-Mach-O little-endian
== Python build: debug
== cwd: /Users/kumaraditya/work/cpython/build/test_python_worker_92525æ
== CPU count: 10
== encodings: locale=UTF-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests
Using random seed: 1579711546
0:00:00 load avg: 8.90 Run 1 test sequentially in a single process
0:00:00 load avg: 8.90 [1/1] test_external_inspection
test_async_gather_remote_stack_trace (test.test_external_inspection.TestGetStackTrace.test_async_gather_remote_stack_trace) ... ok
test_async_global_awaited_by (test.test_external_inspection.TestGetStackTrace.test_async_global_awaited_by) ... ok
test_async_remote_stack_trace (test.test_external_inspection.TestGetStackTrace.test_async_remote_stack_trace) ... ok
test_async_staggered_race_remote_stack_trace (test.test_external_inspection.TestGetStackTrace.test_async_staggered_race_remote_stack_trace) ... ok
test_asyncgen_remote_stack_trace (test.test_external_inspection.TestGetStackTrace.test_asyncgen_remote_stack_trace) ... ok
test_only_active_thread (test.test_external_inspection.TestGetStackTrace.test_only_active_thread) ... ok
test_remote_stack_trace (test.test_external_inspection.TestGetStackTrace.test_remote_stack_trace) ... ok
test_self_trace (test.test_external_inspection.TestGetStackTrace.test_self_trace) ... ok
test_unsupported_platform_error (test.test_external_inspection.TestUnsupportedPlatformHandling.test_unsupported_platform_error) ... skipped 'Test only runs on unsupported platforms (not Linux, macOS, or Windows)'
----------------------------------------------------------------------
Ran 9 tests in 0.546s
OK (skipped=1)
0:00:00 load avg: 8.90 [1/1] test_external_inspection passed
== Tests result: SUCCESS ==
1 test OK.
Total duration: 594 ms
Total tests: run=9 skipped=1
Total test files: run=1/1
Result: SUCCESS
|
`_asyncio` is now built as a static module so that thread states can be accessed directly via registers and avoids the overhead of function call.
`_asyncio` is now built as a static module so that thread states can be accessed directly via registers and avoids the overhead of function call.
Summary: backport of [gh-136669: build _asyncio as static module](python/cpython#136670) (upstream issue: [gh-136669](python/cpython#136669), as done in upstream for 3.15 Reviewed By: fried Differential Revision: D83414959 fbshipit-source-id: df542f1fdeeaaae9e836b723f8048b3499857d2a
_asynciomodule as static module #136669