Skip to content

Use newly compiled winloop.loop.Future objects on DNS related calls - #167

Merged
Vizonex merged 1 commit into
mainfrom
improve-dns
Oct 1, 2026
Merged

Vizonex merged 1 commit into
mainfrom
improve-dns

Conversation

@Vizonex

@Vizonex Vizonex commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

What do these changes do?

These changes start whittling down on known bottlenecks between interpreter level and compiled level code.
The less the interpreter is needed the better the outcome.

For now winloop.Loop.Future remains internal core component to compete with rsloop's evolving speeds I always encourage friendly competition because it gives me a wakeup call.

In a later update like maybe 0.8.0 winloop.Loop.Future will be exposed at the user-level via loop.create_future which is my current objective once all internal level code is optimized with this new object.

Are there changes in behavior for the user?

DNS Tests take 1.91 seconds instead of 5-7 seconds more than sufficient to not needing c-ares yet.

Is it a substantial burden for the maintainers to support this?

Nope, in fact it does the opposite.

Related issue number

See: #164
Closes #80

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes

@Vizonex Vizonex changed the title use newly compiled winloop.loop.Future objects on dns related calls Use newly compiled winloop.loop.Future objects on DNS related calls Oct 1, 2026
@Vizonex

Vizonex commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

I'm starting to see 3 minute benchmarks for testruns. This makes me very happy :)

Keep in mind these tests used to take around 7-8 minutes on bad days.

@Vizonex
Vizonex merged commit 8f375d3 into main Oct 1, 2026
36 of 38 checks passed
@Vizonex
Vizonex deleted the improve-dns branch October 1, 2026 15:56
@Vizonex

Vizonex commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

TODO: (Vizonex) Improve 3.14t's lag. (Probably a reference bug of some kind. Improving NameInfo and AdderInfo would change this. I was thinking about trying C Callbacks.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimizing asyncio.Future by writing a cdef class extension of it.

1 participant