What's New in ASP.NET Web Pages 3.2
by Microsoft
This topic describes what's new for ASP.NET Web Pages 3.2, Web Pages 3.2.2 and Web Pages 3.2.3 beta1
ASP.NET Web Pages 3.2
This release fixes a bug and introduces one new feature.
Download
The runtime features are released as NuGet packages on the NuGet gallery. All the runtime packages follow the Semantic Versioning specification. The ASP.NET Web Pages 3.2 package has the following version: “3.2.0”. You can install or update these packages through NuGet. The release also includes corresponding localized packages on NuGet.
You can install or update to the released NuGet packages by using the NuGet Package Manager Console:
Install-Package Microsoft.AspNet.WebPages -Version 3.2.0
New Feature and Bug Fix
We fixed one bug and made one minor feature enhancement in this release.
ASP.NET Web Pages 3.2.2
This release rolls-up the change in the ASP.NET Web Pages 3.2.1 Beta release which provides a significant performance improvement in rendering large razor pages. This release aligns with the MVC 5.2.2 packages which will now depend on this version.
We worked with the MSN team on rendering large pages. When pages render over 80 Kilobytes of data, we end up with objects on the large object heap. When multiple layers of layouts are used this effect can be multiplied.
The result on the server is extra CPU usage, longer retention of memory, and even long pauses during Gen 2 cleanup in the garbage collector.
Below is a table demonstrating the results of analyzing a perfview for a run. The CPU is held constant at about 68%, while large pages are being rendered. The table shows that the number of Generation 2 collections has been almost completely eliminated, and the result is higher request rate and a considerable reduction in pauses due to garbage collection.
Area | Before (3.2) | After (3.2.1) | Delta % |
---|---|---|---|
Total request (count) | 26,986 | 32,591 | 20.80% |
Trace duration (seconds) | 196.20 | 198.60 | 1.20% |
Request/second | 137.53 | 164.10 | 19.30% |
CPU Load | 68.80% | 68.50% | -0.40% |
GC CPU Samples | 124,323 | 17,543 | -85.90% |
Total allocations (count) | 55,357,146 | 57,222,949 | 3.40% |
Total GC Pause (samples) | 15,091 | 8,515 | -43.60% |
Gen0 GC (count) | 403 | 1,216 | 201.70% |
Gen1 GC (count) | 290 | 367 | 26.60% |
Gen2 GC (count) | 229 | 2 | -99.10% |
CPU / request (samples/req) | 19.73 | 16.47 | -16.50% |
ASP.NET Web Pages 3.2.3 beta1
This release contains only bug fixes.