Title: asyncio gather vs TaskGroup in async_tree benchmarks · Issue #287 · python/pyperformance · GitHub
Open Graph Title: asyncio gather vs TaskGroup in async_tree benchmarks · Issue #287 · python/pyperformance
X Title: asyncio gather vs TaskGroup in async_tree benchmarks · Issue #287 · python/pyperformance
Description: currently, the async_tree set of benchmarks uses asyncio.gather, but asyncio.TaskGroup is the newer cooler thing. recently I worked on a few asyncio optimizations, and had to patch pyperformance (itamaro@fe365c8) to measure the impact on...
Open Graph Description: currently, the async_tree set of benchmarks uses asyncio.gather, but asyncio.TaskGroup is the newer cooler thing. recently I worked on a few asyncio optimizations, and had to patch pyperformance (i...
X Description: currently, the async_tree set of benchmarks uses asyncio.gather, but asyncio.TaskGroup is the newer cooler thing. recently I worked on a few asyncio optimizations, and had to patch pyperformance (i...
Opengraph URL: https://github.com/python/pyperformance/issues/287
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"asyncio gather vs TaskGroup in async_tree benchmarks","articleBody":"currently, the async_tree set of benchmarks uses `asyncio.gather`, but `asyncio.TaskGroup` is the newer cooler thing.\r\n\r\nrecently I worked on a few asyncio optimizations, and had to patch pyperformance (https://github.com/itamaro/pyperformance/commit/fe365c8c3b6020eb9918530d06133cb19f5335b2) to measure the impact on `TaskGroup` (in addition to the proposed patch in gh-279 to cover eager task execution).\r\n\r\nas an aside, I was also able to compare gather vs TaskGroup (by comparing the results with and without that patch), and found that TaskGroup is faster than gather across the board!\r\n\r\nI was wondering what would be the best way to address this in the benchmarks suite.\r\n1. add yet another set of async_tree flavors that use TaskGroup (in addition to the ones using gather)? (considering the proposed gh-279, it's growing the matrix quite a bit)\r\n2. change the existing set to use TaskGroup instead of gather? (which would make it 3.11+ only, and make it less useful when comparing to older runs that used gather)\r\n3. keep the existing set as is, but use TaskGroup if it's available, falling back to gather otherwise?\r\n4. don't bother - leave it with gather","author":{"url":"https://github.com/itamaro","@type":"Person","name":"itamaro"},"datePublished":"2023-05-07T01:23:10.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/287/pyperformance/issues/287"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ca7a028b-d2c2-808a-2293-d6abf8e73c73 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9BD4:335C13:7AC1AD:A70050:6969DC39 |
| html-safe-nonce | cd3ba6ca0e5ef327d68901b804a3c6e25bacf85cab34986d1e76a59c0bf299cf |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QkQ0OjMzNUMxMzo3QUMxQUQ6QTcwMDUwOjY5NjlEQzM5IiwidmlzaXRvcl9pZCI6IjY2OTI4ODY5OTY5ODk4OTM2ODkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 83207d1789a7c4acc6023fe68ae7d7a1909a4fb3f53b479a0f01d226fbffa4fd |
| hovercard-subject-tag | issue:1698842460 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/pyperformance/287/issue_layout |
| twitter:image | https://opengraph.githubassets.com/aefab5cf500d9f4eefd1aa798abb9bf827e6c392f972f00f0a7f831fecfe3017/python/pyperformance/issues/287 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/aefab5cf500d9f4eefd1aa798abb9bf827e6c392f972f00f0a7f831fecfe3017/python/pyperformance/issues/287 |
| og:image:alt | currently, the async_tree set of benchmarks uses asyncio.gather, but asyncio.TaskGroup is the newer cooler thing. recently I worked on a few asyncio optimizations, and had to patch pyperformance (i... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | itamaro |
| hostname | github.com |
| expected-hostname | github.com |
| None | 7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/pyperformance git https://github.com/python/pyperformance.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 65949828 |
| octolytics-dimension-repository_nwo | python/pyperformance |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 65949828 |
| octolytics-dimension-repository_network_root_nwo | python/pyperformance |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | bdde15ad1b403e23b08bbd89b53fbe6bdf688cad |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width