feat(files): remove spawning a thread for each file handling, as it does more harm than actually blocking #3531
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.
PR Type
Fix/Feat (not always sure with those kind of patch)
PR Checklist
Overview
I was looking at a recent comment that indicates than actix files was having bad perf, after some investigation it seems that using the sync api make it way better, than having to spawn a thread to make it async.
In my local environment i want from 11k req/s to 600k req/s (so roughly a x54 increase of performance)
It may be a problem if you only handle big files with poor fs i/io speed (so all actix web threads will be blocked).
Maybe we could still spawn this thread if the size of the file is superior to some limit ?