The article discusses the use of expression-bodied methods in .NET as an alternative to traditional methods for creating simple functions. It presents a comparison between the two methods in terms of syntax and performance. Despite the syntactical differences, benchmark results show that both methods demonstrate similar performance characteristics.
Category: .NET Core
General Performance Tip: Retrieving the Nullable Value from a Reference Type
The article discusses two methods for retrieving nullable values from reference types in C#, showcasing examples using the ternary conditional expression and the null coalesce approach. Benchmark results indicate that the null coalesce approach demonstrates 1.12 times higher efficiency in performance compared to the ternary conditional expression.
Collection Performance: Exercise Caution When Using Take() with a Basic Count
The article advises caution when using the LINQ method Take() with a basic count, suggesting that a range might be recommended by code analyzers. However, benchmark results indicate that using Take() with a simple count is 1.63 times faster than employing a range in such cases.
Code It Any Way You Want: Performance Difference Between Static and Non-Static Methods
Most code analysis tools advocate for static methods due to perceived performance benefits. However, benchmarks indicate that non-static methods often outperform static ones despite avoiding instance dispatch. It's advisable to choose function types based on team coding standards. EditorConfig settings can help manage these preferences effectively.
Collection Performance: Looping Over a Collection Using Span and ReadOnlySpan
The article explores the performance benefits of utilizing Span and ReadOnlySpan for collection processing, highlighting advantages such as improved performance, reduced memory pressure, enhanced safety, and compatibility with modern API design. Span allows read-write access and efficient iteration with lightweight storage, while ReadOnlySpan provides read-only access to prevent accidental modifications, offering similar benefits for collection processing.
Code It Any Way You Want: Performance Considerations for Sealed and Internal Classes
This article explores the historical belief that sealed and internal classes in .NET might offer performance advantages, but suggests that in modern .NET runtimes, compiler optimizations, and hardware advancements, the difference in performance is likely negligible, emphasizing that design considerations should drive decisions regarding class sealing or internalization rather than performance concerns.
Collection Performance: Optimizing Sequence Comparison
The article discusses different methods for comparing two collections for identity in programming. It introduces the use of the SequenceEqual() method for comparing sequences in the LINQ extension methods, as well as the StructuralSequenceEqual() method, which is beneficial for comparing custom classes based on the values of their elements rather than object references.
General Performance Tip: Type Conversion
This article explores type conversion in programming, comparing the traditional syntax with the newer "as" keyword in .NET. While the "as" keyword improves code readability, benchmark results suggest that the conventional method is slightly more performant, advising developers to stick with traditional type conversion unless significant performance improvements are observed with the "as" keyword.
Reference Type & Structure Performance: Constant vs. Read-only Property
This content discusses the performance of using a constant vs. a read-only property.
Code It Any Way You Want: Constants vs. Properties
The post discusses the importance of using constants for static numerical or string values in code, highlighting benefits such as clarity of intent. It provides an example of a read-only property for π and notes that .NET 10 benchmarks show similar performance for both methods. EditorConfig settings for identifying issues are also mentioned.

You must be logged in to post a comment.