Open
2 of 7 issues completedDescription
Note
This is a "meta" issue for tracking purposes, since GitHub does not support special types of issues.
Tracking issue for any perf infra improvements + performance icebergs investigation/fixes.
Open
Others:
- Optimization for string interpolation - simple scenarios: unfolding constants and lowering to concatenation #16247
- Resurrect compiler perf improvements PRs #16125
- Suboptimal code generated when pattern matching a tuple in a lambda parameter #16037
- Eliminate union case remapping common in monadic functions #15872
- Create a test project for bulk code fix benchmarking #15716
- Too many
&
and|
patterns cause Visual Studio/Ionide to use up all available memory #15086 - Cache provided types in the compiler #14754
- Reliable FCS benchmarks which run on every release #13606
- Difference of compilation time between 13 000 "static member" and 13 000 "let binding" #13218
- dotnet fsi startup overhead surprisingly high #12636
Bug
Quadratic(?) compiler perf for huge nested expressions #12421- Optimization inlining applied inconsistently with piping #12416
- Don't emit unnecessary closures #11898
- Reduce memory footprint and improve performance of expression-based ORM usage #10522
- The performance of Comparing and Ordering things #9348
- isOpenStatementUsed uses a lot of CPU and memory #9230
- Code perf: optimize typeof equality in inlined code #6228
- Boxing occurs when hashing a range - 200+ MB over a 90 seconds of normal IDE usage #6052
- Compiling causes OutOfMemoryException and IDE unresponsive/crash when pattern matching against record with many nested DU fields #4691
Closed
- Write up 'Compiler Perf design session' notes from the summer (hand written papers at @T-Gro's desk) #16498
- Avoid boxing on equality and comparison #16497
Timebox
: Set up FCS sync in the dotnet/performance repo #16639- Replace active pattern with structs in the compiler code #16286
- Run benchmarks in CI #16408
- Facelift the existing benchmarks #16407
- Update the Benchmark README #16406
- Inline functions in the Result module #15833
- Reference equality optimisation commented out in implementation of (=) #15486
- FSC: Consider enabling background JIT with non-dynamic PGO for faster compilation #15434
- fsc on .NET 6/7 is spawning
dotnet
process #13960 - Revalidate perf of batch/server GC settings for fsc, fsi on .NET Framework and .NET Core #13739
- Investigate why build processes started consuming much more memory #13600
- Support caching assembly paths resolved by the DependencyManager #13236
- Perf improvement for primitive comparison #13098
- Perf - Lots of time being spent in HashCompare.GenericCompare due to LowerComputedListOrArrayExpr #13033
- A big part of FCS analysis time is spent in GC #13031
- F# sig data contains Too Much Information #12746
- Performance decrease when running FSharpChecker.ParseAndCheckProject #12380
- Validate .tailcall improvements, identify further optimisations #12196
- VS 2022 Preview - Startup time for CoreClr compiler slower than desktop #11907
- FCS performance benchmark notebook #11802
- Pinning a string should prefer string.GetPinnableReference over RuntimeHelpers.GetOffsetToStringData #9251
- Equality operator causes boxing on value types #526
Sub-issues
Metadata
Metadata
Assignees
Type
Projects
Status
Planned