.NET Grid Controls: Faster Sorting, Grouping and Summary Computations (Coming soon in v14.2)

ASP.NET Team Blog
01 December 2014

DevExpress ASP.NET Performance: Speed with custom HTTP Handler

Great news! If you use a DevExpress Data Grid control for ASP.NET, WinForms, and/or WPF then you'll experience better performance just by upgrading to v14.2!

Which Grids?

The performance enhancements we've introduced throughout 2014 apply to the following Grid controls:

  • ASP.NET: ASPxGridView
  • WinForms: XtraGrid
  • WPF: DXGrid

What Changed between v13.2 and v14.2?

As you probably know by now, over the last few release cycles, we've made the decision to move our codebase forward and take advantage of the newest features available in the .NET Framework (see Support for .NET Client Profile being discontinued and DXperience 13.1 will be .NET 4 or above).

This decision freed us up to re-factor older code and throughout 2014, we rewrote major portions of our data processing engine in order to deliver improved grid performance for common data processing operations like sorting, grouping and summary calculations. We also tested these changes across countless use-case scenarios and made certain that performance was either improved or the same as previous releases.

The exciting thing is that in some highly popular use-case scenarios, we succeeded in making our .NET Grid controls about 10 times faster!

Of course, performance generally depends on your specific environment and on how you utilize grids in your apps – but I've shared our test results below so you can see a few of the reasons we think you should upgrade from older versions of DevExpress Grid controls to those shipping in v14.2 

The Details

Here are some specifics on how we squeezed more performance out of our grid controls:

  • If a data controller determines that sorting or grouping operations are thread-safe (for instance sorting properties of basic .NET Framework types with default comparers), it uses multiple threads to utilize the full potential of the modern computers.

  • Advanced caching strategies were introduced.

  • All if-checks logic was rewritten to make certain that all if-checks, which give the same result for all rows, are evaluated once (by generating function/delegate that contains only necessary code).

  • All code is now strongly-typed (whenever possible) eliminating the cost of boxing/unboxing and type-checking operations.

  • For some cases, upper-level and total summaries are calculated from lower-level summaries.

Test Results

I mentioned earlier that we tested our grids to cover a broad range of use-case scenarios. Here's one of our test results (comparing v13.2 and v14.2):

The DevExpress WinForms Grid control was bound to 4,000,000 (4 million) strongly-typed objects. Tests were performed on a machine with an Intel® Core™ i5-2500 Processor. The table below lists tests operations and execution time (in seconds):

XtraGrid Performance Improvements in v14.2

Again, please remember that test results will vary on different machines/configurations - we invite you to compare for yourself and leave your comments/feedback below.

What do think about these performance gains? Leave a comment below. Thanks!


Your Next Great .NET App Starts Here

Year after year, .NET developers such as yourself consistently vote DevExpress products #1.

Experience the DevExpress difference for yourself and download a free 30-day trial of all our products today: DevExpress.com/trial.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.