René's URL Explorer Experiment


Title: Improve performance and reduce latency of Transport.write by attempting to send data immediately if all write buffers are empty by tarasko · Pull Request #619 · MagicStack/uvloop · GitHub

Open Graph Title: Improve performance and reduce latency of Transport.write by attempting to send data immediately if all write buffers are empty by tarasko · Pull Request #619 · MagicStack/uvloop

X Title: Improve performance and reduce latency of Transport.write by attempting to send data immediately if all write buffers are empty by tarasko · Pull Request #619 · MagicStack/uvloop

Description: Current implementation of UVStream.write almost never sends data immediately. Instead the data is stored in the buffer and picked up later by uv_check callback. This introduces unnecessary latency ...

Open Graph Description: Current implementation of UVStream.write almost never sends data immediately. Instead the data is stored in the buffer and picked up later by uv_check callback. This introduces unnecessary latency ...

X Description: Current implementation of UVStream.write almost never sends data immediately. Instead the data is stored in the buffer and picked up later by uv_check callback. This introduces unnecessary latency ...

Opengraph URL: https://github.com/MagicStack/uvloop/pull/619

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:16eb58b7-e66e-17b4-aeff-eca01a628a24
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8FF0:1C9F8F:3AB03BE:4DDD5AC:6964B2B1
html-safe-nonced989f01d1b13731af98705d063a86ee98c527cc54cfa48a51868d8f21c101ad5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RkYwOjFDOUY4RjozQUIwM0JFOjREREQ1QUM6Njk2NEIyQjEiLCJ2aXNpdG9yX2lkIjoiNjI4NDI0NzE1Njg1OTkwODc4NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac852b6f3c01547647a753645b568304433b20f3328675153b8fbfe623d6020007
hovercard-subject-tagpull_request:2023750865
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/MagicStack/uvloop/619/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/537f3f92cc6b9491cfdf9829bed62a42363f0502c2f8393057221b43a32372ef/MagicStack/uvloop/pull/619
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/537f3f92cc6b9491cfdf9829bed62a42363f0502c2f8393057221b43a32372ef/MagicStack/uvloop/pull/619
og:image:altCurrent implementation of UVStream.write almost never sends data immediately. Instead the data is stored in the buffer and picked up later by uv_check callback. This introduces unnecessary latency ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernametarasko
hostnamegithub.com
expected-hostnamegithub.com
None15579c46431b7fd25941c3b09010f74fd1890c7a35226839bbbf40ce70fb3057
turbo-cache-controlno-preview
go-importgithub.com/MagicStack/uvloop git https://github.com/MagicStack/uvloop.git
octolytics-dimension-user_id14324950
octolytics-dimension-user_loginMagicStack
octolytics-dimension-repository_id45766550
octolytics-dimension-repository_nwoMagicStack/uvloop
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id45766550
octolytics-dimension-repository_network_root_nwoMagicStack/uvloop
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release499abb347cb197601d399c346cfeb4b3fa135d5c
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/MagicStack/uvloop/pull/619#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMagicStack%2Fuvloop%2Fpull%2F619
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMagicStack%2Fuvloop%2Fpull%2F619
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=MagicStack%2Fuvloop
Reloadhttps://github.com/MagicStack/uvloop/pull/619
Reloadhttps://github.com/MagicStack/uvloop/pull/619
Reloadhttps://github.com/MagicStack/uvloop/pull/619
MagicStack https://github.com/MagicStack
uvloophttps://github.com/MagicStack/uvloop
Notifications https://github.com/login?return_to=%2FMagicStack%2Fuvloop
Fork 597 https://github.com/login?return_to=%2FMagicStack%2Fuvloop
Star 11.6k https://github.com/login?return_to=%2FMagicStack%2Fuvloop
Code https://github.com/MagicStack/uvloop
Issues 121 https://github.com/MagicStack/uvloop/issues
Pull requests 35 https://github.com/MagicStack/uvloop/pulls
Actions https://github.com/MagicStack/uvloop/actions
Projects 0 https://github.com/MagicStack/uvloop/projects
Wiki https://github.com/MagicStack/uvloop/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/MagicStack/uvloop/security
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
Insights https://github.com/MagicStack/uvloop/pulse
Code https://github.com/MagicStack/uvloop
Issues https://github.com/MagicStack/uvloop/issues
Pull requests https://github.com/MagicStack/uvloop/pulls
Actions https://github.com/MagicStack/uvloop/actions
Projects https://github.com/MagicStack/uvloop/projects
Wiki https://github.com/MagicStack/uvloop/wiki
Security https://github.com/MagicStack/uvloop/security
Insights https://github.com/MagicStack/uvloop/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FMagicStack%2Fuvloop%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FMagicStack%2Fuvloop%2Fissues%2Fnew%2Fchoose
Jump to bottomhttps://github.com/MagicStack/uvloop/pull/619#issue-comment-box
taraskohttps://github.com/tarasko
MagicStack:masterhttps://github.com/MagicStack/uvloop/tree/master
tarasko:optimize_write_latencyhttps://github.com/tarasko/uvloop/tree/optimize_write_latency
Improve performance and reduce latency of Transport.write by attempting to send data immediately if all write buffers are empty https://github.com/MagicStack/uvloop/pull/619#top
taraskohttps://github.com/tarasko
MagicStack:masterhttps://github.com/MagicStack/uvloop/tree/master
tarasko:optimize_write_latencyhttps://github.com/tarasko/uvloop/tree/optimize_write_latency
Conversation 10 https://github.com/MagicStack/uvloop/pull/619
Commits 13 https://github.com/MagicStack/uvloop/pull/619/commits
Checks 17 https://github.com/MagicStack/uvloop/pull/619/checks
Files changed https://github.com/MagicStack/uvloop/pull/619/files
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.co/hiddenchars
https://github.com/MagicStack/uvloop/pull/{{ revealButtonHref }}
https://github.com/tarasko
taraskohttps://github.com/tarasko
Aug 16, 2024https://github.com/MagicStack/uvloop/pull/619#issue-2471196619
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/python/cpython/blob/c13e7d98fb8581014a225b900b1b88ccbfc28097/Lib/asyncio/selector_events.py#L1065https://github.com/python/cpython/blob/c13e7d98fb8581014a225b900b1b88ccbfc28097/Lib/asyncio/selector_events.py#L1065
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
August 17, 2024 01:38https://github.com/MagicStack/uvloop/pull/619#commits-pushed-f4d505c
Attempt to send data immediately if all write buffers are emptyhttps://github.com/MagicStack/uvloop/pull/619/commits/f4d505cdd9b98aa95a074a371b99c3b54a284528
f4d505chttps://github.com/MagicStack/uvloop/pull/619/commits/f4d505cdd9b98aa95a074a371b99c3b54a284528
Fix stale testshttps://github.com/MagicStack/uvloop/pull/619/commits/20aa1bb93fa6ffe0ff2ad26af39d468d1d021ffa
20aa1bbhttps://github.com/MagicStack/uvloop/pull/619/commits/20aa1bb93fa6ffe0ff2ad26af39d468d1d021ffa
Don't test get_write_buffer_size because it is difficult to predict a…https://github.com/MagicStack/uvloop/pull/619/commits/fde18efb162b95a1821d33479532c42dd6cf5bef
fde18efhttps://github.com/MagicStack/uvloop/pull/619/commits/fde18efb162b95a1821d33479532c42dd6cf5bef
Rename written to bytes_writtenhttps://github.com/MagicStack/uvloop/pull/619/commits/e360c3a0c55713c78cae2feb58704eee43349067
e360c3ahttps://github.com/MagicStack/uvloop/pull/619/commits/e360c3a0c55713c78cae2feb58704eee43349067
https://github.com/tarasko
taraskohttps://github.com/tarasko
Aug 20, 2024https://github.com/MagicStack/uvloop/pull/619#issuecomment-2298862636
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
taraskohttps://github.com/tarasko
August 27, 2024 07:17https://github.com/MagicStack/uvloop/pull/619#commits-pushed-b79a840
https://github.com/tarasko
Merge branch 'master' into optimize_write_latencyhttps://github.com/MagicStack/uvloop/pull/619/commits/b79a84063e2030f193d676de245e454860a4e7a2
b79a840https://github.com/MagicStack/uvloop/pull/619/commits/b79a84063e2030f193d676de245e454860a4e7a2
Fix commenthttps://github.com/MagicStack/uvloop/pull/619/commits/cfa33abe461880d0525efaf532588f93bf653d71
cfa33abhttps://github.com/MagicStack/uvloop/pull/619/commits/cfa33abe461880d0525efaf532588f93bf653d71
https://github.com/tarasko
taraskohttps://github.com/tarasko
Aug 29, 2024https://github.com/MagicStack/uvloop/pull/619#event-14067850019
https://github.com/tarasko
taraskohttps://github.com/tarasko
Aug 29, 2024https://github.com/MagicStack/uvloop/pull/619#event-14067854567
Merge remote-tracking branch 'origin/master' into optimize_write_latencyhttps://github.com/MagicStack/uvloop/pull/619/commits/96dc94c431789b75302072925e5f14175c72b994
96dc94chttps://github.com/MagicStack/uvloop/pull/619/commits/96dc94c431789b75302072925e5f14175c72b994
https://github.com/tarasko
taraskohttps://github.com/tarasko
force-pushedhttps://github.com/MagicStack/uvloop/compare/be094bc772c770bd0bee72e9c76a19fb719b0c72..96dc94c431789b75302072925e5f14175c72b994
be094bchttps://github.com/MagicStack/uvloop/commit/be094bc772c770bd0bee72e9c76a19fb719b0c72
96dc94chttps://github.com/MagicStack/uvloop/commit/96dc94c431789b75302072925e5f14175c72b994
Compare https://github.com/MagicStack/uvloop/compare/be094bc772c770bd0bee72e9c76a19fb719b0c72..96dc94c431789b75302072925e5f14175c72b994
August 29, 2024 18:31https://github.com/MagicStack/uvloop/pull/619#event-14068110001
https://github.com/tarasko
taraskohttps://github.com/tarasko
Aug 29, 2024https://github.com/MagicStack/uvloop/pull/619#issuecomment-2318620065
@fantixhttps://github.com/fantix
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/tarasko
Merge branch 'master' into optimize_write_latencyhttps://github.com/MagicStack/uvloop/pull/619/commits/94cbc7fdbf8e420a134945377f0a83079a8dc12a
94cbc7fhttps://github.com/MagicStack/uvloop/pull/619/commits/94cbc7fdbf8e420a134945377f0a83079a8dc12a
https://github.com/fantix
fantixhttps://github.com/fantix
Sep 3, 2024https://github.com/MagicStack/uvloop/pull/619#issuecomment-2326804795
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/tarasko
taraskohttps://github.com/tarasko
Sep 5, 2024https://github.com/MagicStack/uvloop/pull/619#event-14143260770
Skip fast path in _initiate_write() if we attempted it in write(). Th…https://github.com/MagicStack/uvloop/pull/619/commits/4f66353c33252489ce2d4549bd218a543f37cfe4
4f66353https://github.com/MagicStack/uvloop/pull/619/commits/4f66353c33252489ce2d4549bd218a543f37cfe4
https://github.com/tarasko
taraskohttps://github.com/tarasko
Sep 10, 2024https://github.com/MagicStack/uvloop/pull/619#event-14197144616
September 10, 2024 13:30https://github.com/MagicStack/uvloop/pull/619#commits-pushed-4e96818
Revert unnecessary checkhttps://github.com/MagicStack/uvloop/pull/619/commits/4e96818059150d9ee12285633f902a9a18ef1650
4e96818https://github.com/MagicStack/uvloop/pull/619/commits/4e96818059150d9ee12285633f902a9a18ef1650
Revert unnecessary changehttps://github.com/MagicStack/uvloop/pull/619/commits/f6f509440d5aa319b2ba0774b46e4802ebe64015
f6f5094https://github.com/MagicStack/uvloop/pull/619/commits/f6f509440d5aa319b2ba0774b46e4802ebe64015
Revert unnecessary changehttps://github.com/MagicStack/uvloop/pull/619/commits/ede3f381bd809af0acd826fec9db08ad8636b232
ede3f38https://github.com/MagicStack/uvloop/pull/619/commits/ede3f381bd809af0acd826fec9db08ad8636b232
https://github.com/tarasko
taraskohttps://github.com/tarasko
Oct 16, 2024 https://github.com/MagicStack/uvloop/pull/619#ref-issue-2540612197
uvloop is grouping responses to multiple requests/messages #631 https://github.com/MagicStack/uvloop/issues/631
https://github.com/tarasko
taraskohttps://github.com/tarasko
Oct 16, 2024https://github.com/MagicStack/uvloop/pull/619#issuecomment-2415948995
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
@fantixhttps://github.com/fantix
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/Doch88
Doch88https://github.com/Doch88
Dec 3, 2024https://github.com/MagicStack/uvloop/pull/619#issuecomment-2514441302
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/nevmerzhitsky
nevmerzhitskyhttps://github.com/nevmerzhitsky
Mar 7, 2025https://github.com/MagicStack/uvloop/pull/619#issuecomment-2706765531
@MagicStackhttps://github.com/MagicStack
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/Doch88
Doch88https://github.com/Doch88
Jul 11, 2025https://github.com/MagicStack/uvloop/pull/619#issuecomment-3062604451
@fantixhttps://github.com/fantix
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/pedroconceicao
pedroconceicaohttps://github.com/pedroconceicao
Aug 29, 2025https://github.com/MagicStack/uvloop/pull/619#issuecomment-3236219829
@fantixhttps://github.com/fantix
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/Elyahou
Elyahouhttps://github.com/Elyahou
Nov 12, 2025https://github.com/MagicStack/uvloop/pull/619#issuecomment-3520549429
@1st1https://github.com/1st1
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/fantix
fantixhttps://github.com/fantix
Jan 9, 2026https://github.com/MagicStack/uvloop/pull/619#issuecomment-3730599358
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/fantix
Merge remote-tracking branch 'origin/master' into optimize_write_latencyhttps://github.com/MagicStack/uvloop/pull/619/commits/b0ea7f6b38b5cf549d0c1344e203c6c4ac2027ae
b0ea7f6https://github.com/MagicStack/uvloop/pull/619/commits/b0ea7f6b38b5cf549d0c1344e203c6c4ac2027ae
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMagicStack%2Fuvloop%2Fpull%2F619
Please reload this pagehttps://github.com/MagicStack/uvloop/pull/619
https://github.com/tarasko
https://github.com/fantix
https://github.com/Doch88
https://github.com/nevmerzhitsky
https://github.com/pedroconceicao
https://github.com/Elyahou
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.