Skip to content
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

Replace use of the libc crate with the rustix crate #521

Closed
yorickpeterse opened this issue May 15, 2023 · 3 comments
Closed

Replace use of the libc crate with the rustix crate #521

yorickpeterse opened this issue May 15, 2023 · 3 comments
Assignees
Labels
accepting contributions Issues that are suitable to be worked on by anybody, not just maintainers feature New things to add to Inko, such as a new standard library module runtime Changes related to the Rust-based runtime library
Milestone

Comments

@yorickpeterse
Copy link
Collaborator

Description

#508 introduces a native code compiler uses LLVM, replacing the bytecode interpreter. As part of this work we've dropped Windows support, as it's simply not sustainable for us to support.

For network IO we use the polling crate. Currently this crate uses libc on Unix platforms, but is switching to using rustix (see smol-rs/polling#108).

In the interest of reducing third-party dependencies and maintaining control over our code, I would not only like to restore our old polling code in favour of the "polling" crate (#344), but also switch to using rustix. The benefit of using rustix is that at least on Linux we can avoid libc calls. While this may result in a performance improvement, it's really more about slowly reducing our dependencies on third-party libraries, including libc. The API might also be a bit more pleasant to use compared to using the libc crate directly.

Related work

smol-rs/polling#108

@yorickpeterse yorickpeterse added feature New things to add to Inko, such as a new standard library module runtime Changes related to the Rust-based runtime library accepting contributions Issues that are suitable to be worked on by anybody, not just maintainers labels May 15, 2023
@thaodt
Copy link
Contributor

thaodt commented Jun 21, 2023

hi @yorickpeterse can you please assign this to me? I wanna give it a try.

@yorickpeterse
Copy link
Collaborator Author

@thaodt Sure thing, thanks for looking into this!

@yorickpeterse
Copy link
Collaborator Author

Fixed by #582.

@yorickpeterse yorickpeterse added this to the 0.13.0 milestone Jul 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepting contributions Issues that are suitable to be worked on by anybody, not just maintainers feature New things to add to Inko, such as a new standard library module runtime Changes related to the Rust-based runtime library
Projects
None yet
Development

No branches or pull requests

2 participants