-
Notifications
You must be signed in to change notification settings - Fork 121
Use AnyIO with fast_acquire
synchronization
#953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a8d7461
to
e7d8601
Compare
nice this looks good! This feature was added to anyio specifically for httpcore, so I'm going to merge it even though I'm the only review |
@graingert No. Please don't do that on this PR. This was my latest comment regarding this... #922 (comment) Here's a comment that'd make me wary of jumping onto |
This reverts commit 973cbdd.
Happy for a revert, does #927 remove a lock on the async code path and therefore make this PR redundant? |
I'm not talking about #927 or directing my attention there at the moment. |
Revert PR at #1002. |
When will the tag related to this change here and on httpx will be relaesed? |
I'm confused about what happened here; what was the technical issue? |
Ah I missed the second comment, thanks! I don't do enough |
Can you explain this to me, as it didn't make a lick of sense to me? Was this about |
@agronholm So. The priority at the time was bumping a release from 1.0.7 to 1.0.8 in order to resolve #1005. Mixing in other concerns introduces risk, rather than just prioritising the necessary fix for Python 3.14.0a6. Also I've been doing some background work on a significantly simplified implementation. I've got a connection pool approach that's smaller, more readable, and easier to reason about. It also happens to result in faster & more stable response characteristics under load. (significant improvement vs. current httpx, marginal improvement vs. aiohttpx) I'm not ready to share the work publicly yet, tho will update shortly. |
OK, thanks for the quick response. I was previously left with the impression that you had reservations about |
I don't really know enough about (Incidentally, thanks so much for your work on |
Yeah, so the summary is that with |
Summary
Related to agronholm/anyio#761 and #922 (comment)
This uses AnyIOs
fast_acquire
-mode in its synchronization primitives (instead of replacing AnyIO with vanilla asyncio). Which gives a big performance boost (see above comment lint).Checklist