25 Oct 2011 5:47 AM #1
The overall performance impact of 4.1 is not as good as I hoped for.
Here's an example from an app of ours. Doubleclicking a grid row opens a new Ext.window.Window with a four-tab tabpanel with a few grids:
With ExtJS 4.02b that takes about 1760 ms:
ExtJS 4.0.7 brings it down to about 1060 ms:
With ExtJS 4.1 it's still about 863 ms:
In all cases the provided ext-all.js was used. The values varied by about 50 ms per individual test.
25 Oct 2011 2:03 PM #2
- Join Date
- Mar 2007
- St. Louis, MO
- Vote Rating
Was Ext.window.Window already loaded when you created it?Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services email@example.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!
When posting code, please use BBCode's CODE tags.
25 Oct 2011 2:08 PM #3
Yes, actually I did the same doubleclick several times before (even with timeline recording enabled) to ensure that Chrome has everything cached.
26 Oct 2011 5:05 AM #4
I don't know, a ~20% improvement is not to be sneezed at in my book.
A floating window with 4 tab panels and "a few" grids is a fairly complex layout, so a 800ms rendering time sounds pretty good to me.aka Seboss
26 Oct 2011 7:18 AM #5
Can you post an example that mimics what you are doing? Ideally just an html file with script block that presents a button to display the window. Also, it would be important to accurately match where you are auto sizing in your real app because auto sizing entails extra measurements and potentially reflows.
27 Oct 2011 3:24 AM #6
@Sebastien - I think you're missing the point here: keep in mind that for many developers, the performance of 4.0 was completely unacceptable - not even close to usable on certain platforms - thus, it should not be taken as the baseline for comparison... While in the abstract, a 20% improvement sounds good, if the thing being improved needs an order of magnitude improvement, 20% seems almost insignificant...
27 Oct 2011 4:43 AM #7
Maybe Andre should make its expectations a little clearer then. What's *good*?
I skipped Ext JS 3 altogether so I have no point of comparison between 3.x and 4.0.
However, I've been working with Ext JS 2.0 for years and 4.0 since the first PR, and I never ran into any situation that makes an application usable. As far as my needs go, a 20% boost is a welcome improvement.
Granted, IE7/8 are not in my target browsers.
Did the affected applications you mention really performed so much better with Ext JS 3.x?
The kind of composition AndreKR describes in the OP sound a bit over the top to me. I'm not sure a window with tabs and several grids would perform that well even on a native widget toolkit :P
EDIT: ok, if that benchmark is to be taken seriously, there *does* seem to be quite a performance gap between Ext JS 3 and 4: http://www.sencha.com/forum/showthread.php?152386-IE-Performance-Browser-Benchmarks
I begin to understand where all the embarassment comes from.aka Seboss
27 Oct 2011 5:54 AM #8
@stahlman That was exactly what I meant, thanks for typing it for me.
I put together a testcase by removing everything that requires data access while maintaining the layout complexity where possible. It's not exactly a single html file, but I got it down to 3 js-files for the different window types.
Here it is:
Just doubleclick lines to open additional windows. You will see that opening the window and even switching between tabs is quite slow.
27 Oct 2011 6:03 AM #9
I get 350ms average to open the tabs window and ~200ms when switching tabs, using Chromium 15.
My machine is hardly a beast, how come I get such lower timings than you do?aka Seboss
27 Oct 2011 8:18 AM #10
Hm, interesting. I can't explain.
According to Chrome's timeline, switching between tabs consumes about 280 ms, mainly for painting.
For the tests I used Chrome 15.0.874.106 on an "AMD Athlon 64 X2 4000+ 2.10 GHz".