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 version currently used is allocating and setting up the type matchers definition at each call to
Infer::new
, while this is not necessary. Version 0.2.3 uses static matcher definitions making Infer::new much cheaper.To be honest I have not performed any benchmark on this, but the code is pretty obvious. I believe that
http-types
being used at the art of http applications should be as cheap as possible as far as memory and cpu is concerned.Note: I am also contributing to
Infer
. There are lots of changes discussed there to try to bring an as cheap as possible experience for type checking. We are also discussing with other mime related crates (mime_guess, mime_db in particular) to deliver a consistent API for all "mime and file extension guessing utilities". Once everything is stabilized we will be able to offer a fullyno_alloc
version that would clearly benefit forhttp-types
. Meanwhile version 0.2.3 is already a benefit forhttp-types
.Cheers.