[issue45311] Threading Semaphore and BoundedSemaphore release method implementation improvement
Besart Dollma added the comment: This is another illogical behaviour, if I am trying to release 5 threads, and I fail the releasing the first one, why should I try the first one 5 times? -- ___ Python tracker <https://bugs.python.org/issue45311> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45311] Threading Semaphore and BoundedSemaphore release method implementation improvement
New submission from Besart Dollma : Hi, I was looking at the implementation of Semaphore and BoundedSemaphore in threading.py and I saw that `notify` is called on a loop n times while it supports an n parameter. https://github.com/python/cpython/blob/84975146a7ce64f1d50dcec8311b7f7188a5c962/Lib/threading.py#L479 Unless I am missing something, removing the loop and replacing it with self._cond.notify(n) will slightly improve performance by avoiding the function call overhead. I can prepare a Pool Request if the change is acceptable. Thanks, -- components: Library (Lib) messages: 402779 nosy: besi7dollma priority: normal severity: normal status: open title: Threading Semaphore and BoundedSemaphore release method implementation improvement type: enhancement versions: Python 3.9 ___ Python tracker <https://bugs.python.org/issue45311> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com