8000 feat: introduce io engine by MrCroxx · Pull Request #864 · foyer-rs/foyer · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: introduce io engine #864

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

feat: introduce io engine #864

wants to merge 1 commit into from

Conversation

MrCroxx
Copy link
Member
@MrCroxx MrCroxx commented Feb 17, 2025

What's changed and what's your intention?

Please explain IN DETAIL what the changes are in this PR and why they are needed. :D

WIP...

Checklist

  • I have written the necessary rustdoc comments
  • I have added the necessary unit tests and integration tests
  • I have passed make all (or make fast instead if the old tests are not modified) in my local environment.

Related issues or PRs (optional)

Signed-off-by: MrCroxx <mrcroxx@outlook.com>
@MrCroxx MrCroxx self-assigned this Feb 17, 2025
@MrCroxx MrCroxx changed the title refactor: extract io buffer and allocator to io mod feat: introduce io engine Feb 17, 2025
@MrCroxx MrCroxx added feature New feature or request refactor labels Feb 17, 2025
@MrCroxx MrCroxx added this to the v0.15 milestone Feb 17, 2025
Copy link
codecov bot commented Feb 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
foyer-storage/src/device/direct_file.rs 85.08% <ø> (ø)
foyer-storage/src/device/direct_fs.rs 87.42% <ø> (ø)
foyer-storage/src/device/mod.rs 78.57% <ø> (ø)
foyer-storage/src/device/monitor.rs 80.90% <ø> (ø)
foyer-storage/src/io/allocator.rs 88.46% <ø> (ø)
foyer-storage/src/io/bytes.rs 51.06% <ø> (ø)
foyer-storage/src/io_buffer_pool.rs 85.71% <ø> (ø)
foyer-storage/src/large/batch.rs 85.29% <ø> (ø)
foyer-storage/src/large/reclaimer.rs 85.36% <ø> (ø)
foyer-storage/src/large/scanner.rs 76.00% <ø> (ø)
... and 7 more

@MrCroxx MrCroxx modified the milestones: v0.15, v0.17 Apr 7, 2025
@Li0k
Copy link
Collaborator
Li0k commented Apr 10, 2025

any context?

@MrCroxx
Copy link
Member Author
MrCroxx commented Apr 10, 2025

any context?

Hi, @Li0k . This idea comes from the enhancement of CacheLib.

FYI: facebook/CacheLib@b216083

CacheLib only supported sync I/O before, and with the new abstraction, it can support async I/O like libaio or io_uring.

Since foyer has been suffering from the tail latency of tokio runtime, it is a good idea to refine it and get some inspiration from CacheLib.

This PR is too stale and incomplete. It's better to redesign and implement it. Are you interested in it?

@MrCroxx MrCroxx modified the milestones: v0.17, Planning Apr 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request refactor
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants
0