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

cli: Introduce a selectable IO backend with --io={syscall,io-uring} argument #654

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

LtdJorge
Copy link
Contributor

Give the user the option of choosing IO backend. There is only a "syscall" backend, unless built for Linux with #[cfg(feature = "io_uring")] which introduces --io=io-uring.

Right now, the choice has only been implemented for the CLI. Bindings and such default to PlatformIO, except when an "in-memory" database has been chosen.

Can be tested by running CLI with RUST_LOG=debug

…ngIO on Linux with feature io_uring.

cli: add a new argument to select I/O backend (more than one option only for Linux with io_uring feature).

cli: make both Limbo::new() and Limbo::open_db() use get_io(), unifying parsing of database path and eliminating duplicated code.
@LtdJorge LtdJorge force-pushed the selectable-io-backend branch from 2409bc4 to 5a45df8 Compare January 11, 2025 15:09
Copy link

@Mizokuiam Mizokuiam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my bad, for wrongly commented

@LtdJorge

This comment was marked as resolved.

@LtdJorge
Copy link
Contributor Author

my bad, for wrongly commented

Ah, I get it now after taking a look at your history. You're just spamming the same comments on multiple projects...

cli/app.rs Outdated Show resolved Hide resolved
cli/app.rs Outdated Show resolved Hide resolved
cli/app.rs Outdated Show resolved Hide resolved
…emory we get a default Io from Clap. Also remove last pesky Io::clone()
Copy link
Contributor

@PThorpe92 PThorpe92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff, Looks good to me 👍

*Personally Idk if I'm 100% sure about the naming of the other option syscall, but I will leave that one up to others to decide :)

@LtdJorge
Copy link
Contributor Author

Good stuff, Looks good to me 👍

*Personally Idk if I'm 100% sure about the naming of the other option syscall, but I will leave that one up to others to decide :)

Yeah, neither am I. It is what Pekka suggested in #628 so I went with it. Thanks for reviewing :)

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.

3 participants