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.