GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-128002: use per threads tasks linked list in asyncio by kumaraditya303 · Pull Request #128869 · python/cpython Conversation
|
| Benchmark | bm-20250111-linux-x86_64-python-3a570c6d58bd5ad7d7c1-3.14.0a3+-3a570c6 | bm-20250112-linux-x86_64-kumaraditya303-per_thread_tasks-3.14.0a3+-cca4057 |
|---|---|---|
| async_tree_cpu_io_mixed_tg | 556 ms | 536 ms: 1.04x faster |
| async_tree_none_tg | 303 ms | 294 ms: 1.03x faster |
| coroutines | 26.2 ms | 25.5 ms: 1.03x faster |
| async_tree_memoization_tg | 397 ms | 387 ms: 1.03x faster |
| async_tree_cpu_io_mixed | 598 ms | 583 ms: 1.03x faster |
| async_generators | 498 ms | 486 ms: 1.02x faster |
| async_tree_io | 748 ms | 733 ms: 1.02x faster |
| async_tree_io_tg | 696 ms | 682 ms: 1.02x faster |
| async_tree_memoization | 442 ms | 436 ms: 1.02x faster |
| async_tree_none | 349 ms | 344 ms: 1.01x faster |
| Geometric mean | (ref) | 1.02x faster |
Benchmark hidden because not significant (1): asyncio_websockets
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
First, great work on this, this is legitimately a cool PR. That said, I'm feeling really uneasy about Also please wait for reviews from @pablogsal and @ambv. I'm curious if this would make external introspection harder. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Does this work where an event loop is used on one thread, stopped then resumed on another thread? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I have pushed some more changes:
TODO: benchmark it before merging |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
When you're done making the requested changes, leave the comment: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
This PR has nothing to do with asyncio introspection. As I said in other PR, the change which would affect that is moving current task to per-loop which isn't done in this PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Hummm, I must have misread how this affects the task management. Let me dismiss my request for changes meanwhile. Thanks for the patience with this @kumaraditya303! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@colesbury PTAL |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
This LGTM, but would you please also get this reviewed by another asyncio expert?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
…#128869) Co-authored-by: Łukasz Langa <[email protected]>
…#128869) Co-authored-by: Łukasz Langa <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.