Conversation
Doing many small reads is much slower than doing fewer large reads. Let's try to read several clusters at once if they're contiguous.
read_exact_at is often called with a bunch of offsets in the same general area. In a lot of cases, the data needed is still in the buffer from the last call. Let's make use of that by remembering the last sector read and skip reading the same sector again.
Member
Author
|
@NikoPit please check if that resolves your issue. |
|
yup it significently sped up the boot time, thanks |
|
tho its still pretty slow, but this definitely made it a lot more better |
|
btw completely off topic, is there a discord server specificly for this? |
Member
Author
It's about as fast as the UEFI implementation. I think at some point you just have to accept that loading large files is going to take some time 😅
No, but there's a Zulip. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR speeds up the BIOS bootloader by reducing the number of disk read operations. See commits for details.
This reduces the runtime of the large_ramdisk test (with KVM enabled) from ~35s to ~9s.
Closes #549