PDA

View Full Version : 2.0.1 to 3.0.0 Store/Grid/TabPanel Performance is slower



rlzaleski
16 Jul 2009, 12:49 PM
Hey Guys,

We at McKesson have been using Ext for about a year and a half, and are on Ext 2.0.1 ATM. We have a lot of code, with some abstractions in between, so getting the exact code we're using to interact with Ext may take some work, but I can do that if nescessary. Anyways, we are seeing 15% to 20% slower performance for FF3.1 and IE7 respectively by just swapping the library from Ext 2.0.1 to Ext 3.0.0.

Below is what the firebug profiler spit out for navigating around 20-40
Ext.grid.EditorGridPanel grids and 40-75 stores. All of the grids sit
inside a window or a tab panel (Mostly tab panels) and we use DWR
callbacks to send the data into the store. The macro layout of the page
is vanilla css/html which we render the tabPanels to. The only change in
these numbers were to drop in 3.0.0 and profiled navigating around a bit
of the app. You may notice we have some Prototype.js mixed in, but we
use the Ext base adapter, not the prototype one.

The 5 worst Ext calls we see from firebug (which it says is 35% of our
total run time) are

getStyle() - (Line 2466) - 2596 calls avging 47.8 ms to 3120 cals avging
71.5 ms in 3.0.0 (Line 5262)
getWidth() - (Line 2640) 136 calls avging 112.6ms up to 155 calls avging
99ms in 3.0.0 (Line 5406)
setEvent() - (Line 1897) 3658 calls avging 1.0ms up to 3489 calls avging
6ms in 3.0.0
updateHeaders() - (Line 30163) 43 calls avging 9.8ms up to 42 calls
avging 16ms in 3.0.0
update() - (Line 3259) 67 calls avging 60.93 calls up to 68 calls avging
69.2ms

All we did was to drop the new library in to evaluate it as we heard the
grids were faster. I also wired some shims in to watch the timings from
DOM events, and they went up as well which is where I calculated the
15-20% longer run times.

My questions are

1. is this a normal for Ext Firebug profile output for multiple
datagrids/tabPanels/stores refreshing multiple times? I ran for maybe a
minute while I navigated through a number of places.

2. Is there any dataGrid gotchas we could be doing that would cause
these numbers to improve?

3. Is there any way to get some trial support, I think we have to
license 3.0.0 if we're going to use it in production, but we don't want
to buy a license if the performance is worst?

4. Is there any other info you guys would like to see that could help
with this.

Thanks in advanced for your time and help,

Robert Zaleski
McKesson
412-474-1075 (10-5 EST)