Tag: dotnet-9
11 posts · Page 1 of 2
2026-01-21 dotnetdotnet-10dotnet-9
Perfetto + dotnet-trace: a practical profiling loop for .NET 9/.NET 10
A practical profiling loop for .NET 9 and .NET 10: capture traces with dotnet-trace, visualize them in Perfetto, and iterate on CPU, GC, and thread pool issues.
2026-01-10 grpcdotnetdotnet-10
gRPC in Containers Feels “Hard” in .NET 9 and .NET 10: 4 Traps You Can Fix
Four common traps when hosting gRPC in containers with .NET 9 and .NET 10: HTTP/2 protocol mismatches, TLS termination confusion, broken health checks, and proxy misconfiguration -- with fixes for each.
2026-01-10 dotnetdotnet-10dotnet-9
Monitor Background Jobs in .NET 9 and .NET 10 Without Hangfire: Health + Metrics + Alerts
Monitor BackgroundService jobs in .NET 9 and .NET 10 without Hangfire using heartbeat health checks, duration metrics, and failure alerts with a practical code example.
2026-01-10 dotnetdotnet-10dotnet-9
System.CommandLine v2, but with the wiring done for you: `Albatross.CommandLine` v8
Albatross.CommandLine v8 builds on System.CommandLine v2 with a source generator, DI integration, and hosting layer to eliminate CLI boilerplate in .NET 9 and .NET 10 apps.
2026-01-04 dotnetdotnet-9
Streaming Tasks with .NET 9 Task.WhenEach
.NET 9 introduces Task.WhenEach, which returns an IAsyncEnumerable of tasks as they complete. Here is how it simplifies processing parallel results as they arrive.
2026-01-02 csharp-13csharpdotnet
C# 13: The End of `params` Allocations
C# 13 finally eliminates the hidden array allocation behind params. You can now use params with Span, ReadOnlySpan, List, and other collection types for zero-allocation variadic methods.
2026-01-02 dotnetdotnet-9
.NET 9: The End of lock(object)
.NET 9 introduces System.Threading.Lock, a dedicated lightweight synchronization primitive that replaces lock(object) with better performance and clearer intent.
2026-01-01 dotnetdotnet-9
Optimizing Frequency Counting with LINQ CountBy
Replace GroupBy with CountBy in .NET 9 for cleaner, more efficient frequency counting. Reduces allocations from O(N) to O(K) by skipping intermediate grouping structures.
2025-01-06 csharpdotnetdotnet-9
.NET Performance: ToList vs ToArray
.NET 9 significantly improves ToArray performance using InlineArray, making it faster and more memory-efficient than ToList. See benchmarks comparing .NET 8 vs .NET 9.
2025-01-02 csharp-13csharpdotnet
C# 13: Use params collections with any recognized collection type
C# 13 extends the params modifier beyond arrays to support Span, ReadOnlySpan, IEnumerable, and other collection types, reducing boilerplate and improving flexibility.