Through valuable customer feedback and our own testing, we realized that our exporting engine wasn’t all it was cracked up to be, especially with regard to raw performance and memory usage. The call went out: increase the performance, and, at the same time, reduce the amount of memory used. I’ve now received the results of our benchmark and it’s time to reveal all.
photo © 2008 Nathan | more info (via: Wylio)What we used. The latest version of DXperience v2010.2 and the current internal alpha build for DXperience v2011.1.
What we timed/measured. We used 4 benchmarks:
- XtraGrid with 50,000 records and 5 columns (1 integer, 1 date, 1 text, 1 float, 1 checkbox). A quarter of a million cells.
- XtraGrid with 100,000 records and 5 columns (1 integer, 1 date, 1 text, 1 float, 1 checkbox). Half a million cells.
- XtraGrid with 50,000 records and 20 columns (1 integer, 1 checkbox, 18 text with random contents, between 8 and 10 chars). A million cells.
- XtraGrid with 100,000 records and 20 columns (1 integer, 1 checkbox, 18 text with random contents, between 8 and 10 chars). Two million cells.
The platform. Reasonably standard developer box running Windows 7, 64-bit. (32-bit can’t process this amount of data.)
The results.
| v2010.2 | v2011.1 | % change |
| Mem (MB) | Time (sec) | Mem (MB) | Time (sec) | Memory | Time |
50k rows * 5 cols |
xls | 540 | 126 | 117 | 7.5 | -78% | -94% |
xlsx | 743 | 152 | 146 | 8.2 | -80% | -95% |
pdf | 485 | 162 | 40 | 37.0 | -92% | -77% |
preview | 480 | 122 | 32 | 4.9 | -93% | -96% |
100k rows * 5 cols |
xls | - | - | - | - | - | - |
xlsx | 2416 | 741 | 206 | 16 | -99% | -98% |
pdf | 963 | 573 | 80 | 73 | -92% | -87% |
preview | 956 | 447 | 65 | 9 | -93% | -98% |
50k rows * 20 cols |
xls | 3016 | 637 | 476 | 28 | -84% | -96% |
xlsx | 6073 | 2721 | 595 | 35 | -90% | -99% |
pdf | | >3000 | 163 | 128 | | HUGE |
preview | 2848 | 610 | 130 | 17 | -95% | -97% |
100k rows * 20 cols |
xls | - | - | - | - | - | - |
xlsx | | >3000 | 997 | 74 | | HUGE |
pdf | | >3000 | 316 | 264 | | HUGE |
preview |
| >3000 | 265 | 32 |
| HUGE |
Notes: OK, so we got bored on some of the tests with DXperience v2010.2. We basically abandoned the test if it took more than 50 minutes (3000 seconds). To be honest, we have better things to do. So where it says HUGE, assume it means the percentage change was between –99% and –99.9999%.
Together with these performance and memory improvements, we’ve made some small UI changes:
- We’ve added the ability to show progress for export/print/preview:
- It also has the ability to provide a Cancel button to halt the process:
- For the new Instant Feedback UI, we’ve added a marquee progress bar for when the grid is loading data from the server:
We’ve also made some changes to help with exporting to Excel. Selected editors (CheckEdit, ImageComboBoxEdit, ColorEdit) will now export a textual representation rather than an image, as before. So for example, in v2010.2 and earlier, if you exported the contents of a CheckEdit column, you would get this:

Where the cells are images. Actually that’s not quite right, there was an issue where, if you deleted the column, the images would remain (wacky but true):
Anyway, forget all that because from v2011.1 onwards, you will get this:

Stay tuned for more WinForms news in DXperience v2011.1.
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.