Title: Reduce _idle_semaphore calls in ThreadPoolExecutor · Issue #102024 · python/cpython · GitHub
Open Graph Title: Reduce _idle_semaphore calls in ThreadPoolExecutor · Issue #102024 · python/cpython
X Title: Reduce _idle_semaphore calls in ThreadPoolExecutor · Issue #102024 · python/cpython
Description: Feature or enhancement In concurrent.futures.thread.ThredPoolExecutor method executor._idle_semaphore.release() should be called if only work queue is empty Pitch Currently _idle_semaphore.release() is called after processing every item ...
Open Graph Description: Feature or enhancement In concurrent.futures.thread.ThredPoolExecutor method executor._idle_semaphore.release() should be called if only work queue is empty Pitch Currently _idle_semaphore.release(...
X Description: Feature or enhancement In concurrent.futures.thread.ThredPoolExecutor method executor._idle_semaphore.release() should be called if only work queue is empty Pitch Currently _idle_semaphore.release(...
Opengraph URL: https://github.com/python/cpython/issues/102024
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Reduce _idle_semaphore calls in ThreadPoolExecutor","articleBody":"# Feature or enhancement\r\n\r\nIn `concurrent.futures.thread.ThredPoolExecutor` method `executor._idle_semaphore.release()` should be called if only work queue is empty\r\n\r\n# Pitch\r\n\r\nCurrently `_idle_semaphore.release()` is called after processing every item in queue. That produces useless semaphore updates in case when queue still has items to process.\r\nThe optimization is going to increase processing speed of work queue.\r\n\r\n\r\n\u003c!-- gh-linked-prs --\u003e\r\n### Linked PRs\r\n* gh-102025\r\n* gh-104959\n\u003c!-- /gh-linked-prs --\u003e\r\n","author":{"url":"https://github.com/jackcvr","@type":"Person","name":"jackcvr"},"datePublished":"2023-02-18T08:10:11.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/102024/cpython/issues/102024"}
| 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:dd686283-e954-d1b9-aa4d-e75c6fc11169 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E4AE:26D7FD:38230:4B4B9:6969C29A |
| html-safe-nonce | a040b84407e55095532e2ae564ed8789975e524e783ecd48ae46b408964f8411 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNEFFOjI2RDdGRDozODIzMDo0QjRCOTo2OTY5QzI5QSIsInZpc2l0b3JfaWQiOiI1MTgyOTA4OTAwOTY4MDg4MjE4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 1154eb7dc50b58a92647e095704fed580bbc9d2f5e722e3ed0478c66be0d1b9a |
| hovercard-subject-tag | issue:1590254454 |
| 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/cpython/102024/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7db740065ed9cd2897e83b0754a5f113dfc401cff80a2dae6aad1b3523dde4e6/python/cpython/issues/102024 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7db740065ed9cd2897e83b0754a5f113dfc401cff80a2dae6aad1b3523dde4e6/python/cpython/issues/102024 |
| og:image:alt | Feature or enhancement In concurrent.futures.thread.ThredPoolExecutor method executor._idle_semaphore.release() should be called if only work queue is empty Pitch Currently _idle_semaphore.release(... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jackcvr |
| hostname | github.com |
| expected-hostname | github.com |
| None | acedec8b5f975d9e3d494ddd8f949b0b8a0de59d393901e26f73df9dcba80056 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| 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 | 83c08c21cdda978090dc44364b71aa5bc6dcea79 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width