Skip to content

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

@yorickpeterse

Description

@yorickpeterse

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

Metadata

Metadata

Assignees

Labels

accepting contributionsIssues that are suitable to be worked on by anybody, not just maintainersfeatureNew things to add to Inko, such as a new standard library moduleruntimeChanges related to the Rust-based runtime library

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions