Performance and User Experience
We've done the testing and now we've written the whitepapers: the performance of the Silverlight xamGrid™ and the ASP.NET AJAX WebDataGrid™ is the fastest on the market. We show you the architecture, and share with you the complete test results in our Silverlight performance whitepaper and ASP.NET AJAX performance whitepaper.
Everyone talks about user experience today – it is a key differentiator in the new economy. When most people talk about the user experience of their application, the conversation is generally focused on the aesthetic design of their application, which while important is merely one aspect of the overall user experience. Often people neglect to think about an area of user experience that can have just as strong of an impact on the overall experience of their application as the applications aesthetics – application performance!
At Infragistics, we take the user experience of your application very seriously, which means we not only focus on helping you provide a world class visual experience, but also we look at the performance experience of our controls in your application. Learn how we approach the architecture and testing of our Silverlight data grids and ASP.NET AJAX data grids so we can deliver to you the fastest data grids on the market.
Why does performance matter so much in the overall user experience?
- Higher Customer Satisfaction
- Improved End User Productivity
- Resource Efficiency in Hardware and Bandwidth
For the whole story on our testing methodology, how we approach performance, and for a complete list of the performance results, download the performance whitepapers for Silverlight and ASP.NET AJAX today!!
Fastest Silverlight Data Grid on the Market
Infragistics xamGrid is the fastest Silverlight data grid control available, with the blazing speed you need for data-intensive line of business applications. Here is a brief excerpt of our performance testing.
Data Binding
To test the performance of basic data binding we created tests that measure the amount of time needed to bind the xamGrid to different ItemSources and render up to the LayoutUpdated event (or similar event). We believe this most accurately represents what an end user experiences when waiting for data to load.
Table 1: Binding to IList - 10 columns and 1,000,000 rows of data.
| |
Infragistics xamGrid |
Competitor I |
Competitor II |
| Time duration in ms |
1,881 |
2,964 |
57% Slower |
5,541 |
194% Slower |
| Memory Usage Before in KB |
91,958 |
91,809 |
0.1% Less |
92,279 |
0.3% More |
| Memory Usage After in KB |
99,100 |
222,233 |
124% More |
109,552 |
10% More |
Table 2: Binding to ObservableCollection - 10 columns and 1,000,000 rows of data.
| |
Infragistics xamGrid |
Competitor I |
Competitor II |
| Time duration in ms |
1,949 |
2,878 |
47% Slower |
5,463 |
180% Slower |
| Memory Usage Before in KB |
91,756 |
90,183 |
1% Less |
89,891 |
2% Less |
| Memory Usage After in KB |
95,726 |
232,346 |
142% More |
109,603 |
14% More |
Vertical Scrolling
xamGrid offers two options when it comes to scrolling with the scrollbar thumb – Deferred or Real Time (Immediate). When you have hundreds of thousands of rows, deferred scrolling lets your users preview the record's value as they scroll (for example, in a tool tip) without having to populate all of the cells until the user has reached the point in the data grid where they want to go.
We created tests to measure the performance of both options.
Deferred Scrolling
We could only test one competing grid with deferred scrolling, as it was the only one that offered this feature.
Table 3: Deferred scrolling with 91 columns and 600 rows of data.
| |
Infragistics xamGrid |
Competitor I |
| Time duration in ms |
874 |
14,160 |
1,519% Slower |
| Memory Usage Before in KB |
16,431 |
45,265 |
175% More |
| Memory Usage After in KB |
16,615 |
80,926 |
387% More |
Real-time Scrolling
As you will see in the performance results in table 4, real time (or immediate) scrolling is a big problem in Silverlight. Most vendor samples you see will load limited amounts of data because the scrolling performance of the control is very poor.
Table 4: Real-time scrolling with 91 columns and 600 rows of data.
| |
Infragistics xamGrid |
Competitor I |
Competitor II |
| Time duration in ms |
1,267 |
29,845 |
2,256% Slower |
4615 |
264% Slower |
| Memory Usage Before in KB |
21,601 |
52,242 |
141% More |
122,090 |
465% More |
| Memory Usage After in KB |
22,781 |
106,722 |
368% More |
125,268 |
449% More |
To get the rest of the results, download the Performance in the Infragistics Silverlight xamGrid whitepaper today!!
Fastest ASP.NET AJAX Data Grid Available
Likewise, we performed performance testing and load testing on our ASP.NET AJAX data grid, WebDataGrid. Built on the Aikido Framework and taking advantage of lightweight ASP.NET AJAX messaging between the client and server, it excels past the competition. Here are some of our test results.
Single-user Browser Operations
These scenarios tested the full cycle – browser rendering (using Internet Explorer 7) and server response time of our ASP.NET AJAX WebDataGrid versus several competitors' data grids. These tests more closely represent the customer experience when using the tested data grids in Web applications found used by banks, call centers, insurance companies, etc.
Table 1: Time (duration in ms) - 10 columns and 300,000 rows of data.
| |
Infragistics WebDataGrid |
Competitor I |
Competitor II |
| Paging |
174 |
210 |
21% Slower |
447 |
157% Slower |
| Numeric Sorting |
535 |
561 |
4% Slower |
800 |
49% Slower |
| String Sorting |
549 |
576 |
4% Slower |
828 |
50% Slower |
| Numeric Filtering |
172 |
193 |
12% Slower |
491 |
185% Slower |
| String Filtering |
191 |
223 |
16% Slower |
515 |
169% Slower |
Payload Size
How do we achieve such amazing performance in WebDataGrid? The simple answer is – a rock solid architecture in the Aikido Framework on which the WebDataGrid is based, and a payload size that is smaller than our competitors. To demonstrate this, we used Fiddler 2 to monitor the data exchanged between server and client. In the table below, we show a summary of the bytes sent and received per operation.
Table 2: Payload Size (in bytes) – 10 columns and 300,000 rows of data.
| |
Infragistics WebDataGrid |
Competitor I |
Competitor II |
| Initial Request |
208,242 |
286,168 |
309,064 |
| Numeric Filtering |
30,062 |
43,135 |
22,554 |
| Unset Numeric Filtering |
30,238 |
43,100 |
21,943 |
| Paging |
30,491 |
43,435 |
26,904 |
| Numeric Sorting |
32,208 |
43,381 |
23,914 |
| Total |
331,241 |
459,219 |
39% More |
404,379 |
22% More |
Load Testing
When we saw how big our advantage is with single-user, we decided to see what happens when we load our and competitors' grids with lots of concurrent users. We repeated the following scenario using a commercial Web loading tool on the client PC to simulate the load for 1 hour, with a think time between all operations of 2 seconds, and a ramp up to 50 users total (adding 2 users every 15 seconds).
The load test scenario was:
- Initial request
- Numeric filtering ("Less than")
- Clear Numeric filtering
- Paging ("Next")
- Paging ("Previous")
- Numeric sorting
Table 3: Load Testing 50 Concurrent Users for 1 Hour – 10 columns and 300,000 rows of data.
| |
Infragistics WebDataGrid |
Competitor I |
| Average Throughput* (bytes/second) |
584,873 |
884,022 |
51% More |
| Average Hits/second** |
55.34 |
49.01 |
15% Less |
* - Amount of throughput (in bytes) on the Web server during the load test. Throughput represents the amount of data that the users received from the server at any given second.
** - The number of hits made on the Web server by users during each second of the load test.
The data grid control of Competitor II could not handle 50 users in this environment. IIS crashes each time with an out of memory error.
As you can see on the first row, our Average Throughput (bytes/second) is 51% better than "Competitor I." This comes directly from our excellent payload size.
On the second row you see that using our WebDataGrid, users have around 15% better productivity per unit time.
Finally, you should not forget that these results are achieved in environments where both PCs are on one network switch. In real life, the client and server may be separated by great distances and the network bandwidth will be limited, so this percentage will increase because of the amazing payload size of WebDataGrid. These benefits could result in tens of thousands of dollars a week, and potentially millions of dollars per year in savings.
To get the complete results, download the Performance in the Infragistics ASP.NET AJAX Data Grid whitepaper today!!