assets: add support for configurable bufsize for FileHandler #649
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.
The current implementation is using the blocksize as buffer size. In many use cases, the size is too small and limiting throughput. This commit adds an new option, buffer_size in the FileOptions, which, when set, overrides the default value.
Also included is a cargo criterion benchmark, which can be run with
The benchmark shows major performance improvements with larger buffers when serving large files. The below results show that on my system (Apple MacBook Pro M2 Max) the throughput improves by an order of magnitude just by increasing the buf_size to 128k when serving a larger file (16MB).