ASP.NET Components can Radically Impact Performance

Thinking Out Loud
13 November 2007

Recently, a prospective customer contacted us regarding some miserable performance in their asp.net application...

The issue was directly attributed to a component being used in their solution. Needless to say, they were not happy and after seeing the application, I don't blame them.

This experience got me to thinking and I thought it might be valuable to explain in a blog post why we re-wrote our ASP.NET grid and ask for your thoughts/feedback on ways in which we can help you transition from other controls to ours.

First - up until late 2006- our focus here at Developer Express was components for Windows Forms. Though we developed ASP.NET controls, Windows Forms was always first in line within the organization. As you can imagine, this meant 2 things. Our Windows Forms products kicked butt (and still do) and our ASP.NET controls did not. Late last year, we decided it was time to change the equation and pay far more attention to ASP.NET and take the steps needed to deliver the very best tools we possibly could for this platform.

Our ASP.NET Grid Problem

In December 2006, we had numerous discussions about our then shipping ASP.NET grid, the ASPxGrid. Though many of us felt the grid compared well with others available in the market, some of us felt it was time to rewrite the product for ASP.NET 2 and deliver features that clearly distinguished it from the competition. Like our competition, the ASPxGrid was a product that had evolved with ASP.NET. As ASP.NET moved forward, our engineers plugged in new features that were not considered when the product was first engineered. This meant that over time, it became a big fat ugly cow. Yes it worked, yes it did what we said it did...but once pushed hard, it began to show its weight. Fact is, many of our competitors face this reality and proof of this lies in the products available in the market and the necessity to rewrite old products to take advantage of new technologies in full - without overloading a product.

Topmost in our minds for our new ASP.NET grid was performance and memory footprint. As we've tried to describe throughout our website, we concluded that its useless to build an advanced grid control with features such as data grouping, sorting, and summary computation if it cannot effectively and accurately display data in a timely manner to end-users.

Ultimately, you are the sole judge as to whether our goal to build the most performant ASP.NET grid control was realized. If you have not yet seen our online demo describing its features, be sure to checkout

http://demos.devexpress.com/ASPxGridViewDemos/DataBinding/XPOLargeDB.aspx?Section=1

...and compare our product to those you are currently using.

As you can imagine, writing a new control is not a trivial undertaking...but what is perhaps much harder is convincing people to take the next step and actually replace existing products.

We know that one of the toughest decisions a developer or company must make when choosing to replace existing controls is the time required to remove poorly performing products and replace them with those that meet the customer's requirements. Part of our responsibility is to help minimize both the cost and risk associated with conversion and I want to make certain that we take the steps necessary to accomplish this.

A few ways in which we can help you with your transition are obvious:

Better Documentation
Real-World Tutorials
Practical Application Samples
Training Screencasts

Other ways might include project converters that convert one control for another. This is not a trivial task, but something we've done in the past.

If you have other suggestions or desires I want to hear from you - feel free to send me an email with any feedback.

 

 

 

6 comment(s)
Anonymous
Shankar

Decisions are taken on a control due to project schedule and belief in published features. On Most occasions the stress test is done during live usage and then one looks for a Solution. It would be a good idea to publish the Performance counters along with the control as a reflection to know at development time the impact of a logic like web analytics.

14 November, 2007
Anonymous
Ed

Any tutorials on how to use the XPO datasource. It's very confusing. I know theres a blog on how to create it using vs2005 but not quite on how to implement it when using an online MSSQL Database. Plus, this test shows the stress load of using a dataset with 300,000+ records. How about a dataset with only 10k. Is the aspxgridview fast enough to handle it or is using an xpo datasource always recommended?

14 November, 2007
Anonymous
Doug

I used the asp.net look and feel controller.  Now with skins available, which seem to have better compatibility with firefox, it would be great to have a converter or documentation to go from the lookandfeel controller to skins.

14 November, 2007
Anonymous
Scott Blood

I love the new grid, the speed of it is short of amazing especially when you have recordsets of millions, it handles them much much much better than the competitors.

One thing i find absolutely irritating is the lack of the height property, i dont know why it isnt there and if someone could explain it , it would be good because i miss it :)

And my last moan is the lack of a decent help file, a lot of the time the helpfile just describes the class structure and what it inherits from.  An explanation of what the class is for, what it does, how to use it and maybe even a screen shot of what it produces would help no end.

Finally keep up the good work, the new version 7.3.1 kicks ass.

14 November, 2007
Ray Navasarkian (DevExpress)
Ray Navasarkian (DevExpress)

Appreciate the feedback guys - keep them coming.

14 November, 2007
Mehul Harry (DevExpress)
Mehul Harry (DevExpress)

Hi Scott,

The fixed height will be in a future release. You can track the suggestion here to get updates of when we'll release it: www.devexpress.com/.../AS17048.aspx

We're always looking to improve the help files and your comments will help us.

And thanks for the support!

14 November, 2007

Please login or register to post comments.