6
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 23 Jan 2026
6 points (100.0% liked)
C Sharp
1766 readers
1 users here now
A community about the C# programming language
Getting started
Useful resources
- C# documentation
- C# Language Reference
- C# Programming Guide
- C# Coding Conventions
- .NET Framework Reference Source Code
IDEs and code editors
- Visual Studio (Windows/Mac)
- Rider (Windows/Mac/Linux)
- Visual Studio Code (Windows/Mac/Linux)
Tools
Rules
- Rule 1: Follow Lemmy rules
- Rule 2: Be excellent to each other, no hostility towards users for any reason
- Rule 3: No spam of tools/companies/advertisements
Related communities
founded 2 years ago
MODERATORS
Interesting stuff. I used to work under an engineer who was obsessed with performance tuning. I remember him converting all of our foreach loops to for loops. He probably told me, but I never knew/retained that it allocated on the heap. I also had always assumed reflection = slower.
Though, as he points out, .NET 10 does a similar kind of optimization for you. So, it seems like largely an unnecessary optimization. I can only imagine a 40-byte allocation optimization matters in an extremely low memory environment or at extreme scale.
In later .net version for loops can be slower than linq queries. If the compiler knows the iteration does not cause side effects, it often already does not allocate and can even vectorize some loops, so .Sum(...) might be faster then a manual for loop.
Optimizing without benchmarking is often wasted effort.
Funnily enough, that engineer also disallowed Linq because it was slow. It's been 7 years since I've worked with him. wonder if he ever changed his tune.