Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CachedRange<V>
performance audit (#19)
* Codegen fixes for CachedRange IEnumerable overload - Sacrifice ordering by expiration in quicklist when inserting from IEnumerable to reduce loop body size - Add benchmarks to track actual CachedRange perf - Add PolySharp to work towards removing hand-rolled polyfills for older targets * Fix typo * Various minor adjustments: - Add 'net7.0' TFM - Use PolySharp with private assets instead of IndexRange - Move some project attributes to build props - Only use write barrier in quicklist when working with non-managed keys, make sure JIT constant folds it - Some global constants were mutable, mark them as readonly - Clean up benchmarks a little * Fix build * Remove net48 TFM from benchmarks
- Loading branch information
1 parent
136d43a
commit 806f7bc
Showing
21 changed files
with
1,412 additions
and
1,512 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<Project> | ||
<PropertyGroup> | ||
<Features>strict</Features> | ||
<LangVersion>11</LangVersion> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
<WarningsAsErrors>nullable</WarningsAsErrors> | ||
<IsTrimmable>true</IsTrimmable> | ||
<NoWarn>CS1591</NoWarn> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="PolySharp" Version="1.8.1"> | ||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||
<PrivateAssets>all</PrivateAssets> | ||
</PackageReference> | ||
</ItemGroup> | ||
</Project> |
This file contains 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
Oops, something went wrong.