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

Avoid extending part on backward seek #1005

Merged
merged 2 commits into from
Sep 9, 2024

Conversation

monthonk
Copy link
Contributor

@monthonk monthonk commented Sep 9, 2024

Description of change

Currently, we combine parts from the seek window to current_part in the part queue whenever we seek backward which mean we also have to re-compute checksums for this combined part. It particularly affect read throughput in some use cases where backward seek rate is high. This change should improve the throughput for those use cases.

Does this change impact existing behavior?

No

Does this change need a changelog entry in any of the crates?

No, this is a performance improvement change


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

Currently, we combine parts from the seek window to `current_part` in the
part queue whenever we seek backward which mean we also have to re-compute
checksums for this combined part. It particularly affect read throughput in
some use cases where backward seek rate is high. This change should improve
the throughput for those use cases.

Signed-off-by: Monthon Klongklaew <[email protected]>
@monthonk monthonk added the performance PRs to run benchmarks on label Sep 9, 2024
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:44 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:44 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:45 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:45 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:45 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:45 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests September 9, 2024 08:45 — with GitHub Actions Inactive
mountpoint-s3/src/prefetch/part_queue.rs Outdated Show resolved Hide resolved
mountpoint-s3/src/prefetch/part_queue.rs Outdated Show resolved Hide resolved
mountpoint-s3/src/prefetch/part_queue.rs Outdated Show resolved Hide resolved
Signed-off-by: Monthon Klongklaew <[email protected]>
Copy link
Contributor

@passaro passaro left a comment

Choose a reason for hiding this comment

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

Looks good!

@monthonk monthonk added this pull request to the merge queue Sep 9, 2024
Merged via the queue into awslabs:main with commit cdb8ccd Sep 9, 2024
26 checks passed
@monthonk monthonk deleted the fix_perf_regression branch September 9, 2024 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance PRs to run benchmarks on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants