#557 – May 18, 2025
Remarkable performance improvements compared to traditional server GC
A sub-millisecond GC for .NET
9 minutes by Alfred White
In this post Alfred brings attention to a discussion over in the .NET runtime where an experimental garbage collector called Satori is producing exciting numbers. It shows remarkable performance improvements compared to traditional server GC, with 50x better median pause times, >100x improvement in 99th percentile pause times, and 3x smaller heap sizes.
We Like Aspose, But Devs Love IronPDF – Here’s Why
sponsored by IronSoftware
Why fight complexity? IronPDF delivers fast HTML-to-PDF conversion, Razor support, and powerful PDF editing, no Office dependencies, no hassle. With clean APIs, simple licensing, transparent pricing, monthly feature releases, and top-rated tech support, it’s built for teams that move fast. Thousands have already switched from Aspose. Try it free for 30 days and see why.
Evaluating content safety in your .NET AI applications
6 minutes by Shyam Namboodiripad
The new package Microsoft.Extensions.AI.Evaluation provides evaluators that help to detect harmful or sensitive content such as hate speech, violence, copyrighted material, insecure code, and more within AI-generated content in your applications.
How to limit memory usage of applications in IIS
3 minutes by Bart Wullems
Bart summarizes strategies for managing memory usage in IIS after a production environment failure caused by a memory leak. He details how to configure private memory limits and recycling settings for application pools to prevent problematic applications from impacting entire servers.
Soft deletes in EF Core: How to implement and query efficiently
4 minutes by Ali Hamza Ansari
Instead of permanently removing data, soft deletion marks records as inactive by toggling a flag, which allows for data recovery if needed. Ali outlines four implementation methods in Entity Framework Core: manual flagging, global query filter, SaveChanges override to intercept deletes, and repository pattern, each with specific code examples and steps.
C# 14: Exploring extension members
11 minutes by Kathleen Dollard
In this article Kathleen introduces C# 14 extension members. The new syntax uses extension blocks that specify the receiver type once and can contain multiple extension members, reducing repetition and allowing better organization. This approach maintains compatibility with existing extension methods while enabling new member types, with both syntaxes lowering to the same underlying implementation.
And the most popular article from the last issue was: