-
4 Feb 2010 3:52 AM #1
Folks will like the upcoming Ext JS 3.1.1 release
Folks will like the upcoming Ext JS 3.1.1 release
Hi there,
I have a small patch set that I apply to the current build. The patch is very small. I began comparing Ext JS 2.3.0 and the current build. The path taken last night was simply this:
1. I pulled up the portal demo running 2.3.0 and another portal demo using the current build.
2. My focus was basically to follow the path for collapsing and expanding the west border region.
3. Immediately, I saw something during profiling. The current build had numbers double that of 2.3.0 for some function calls.
4. It's an overhead somewhere and I wanted to find it.
Notes:Code:## ## Enjoy the results :) ## # of calls # of calls Max/Restore Build (40 tabs) Time Window Size Time ======== ========== ======== =========== ======== 3.0.3 477,580 5.691 399,909 9.466 3.1.0 404,538 5.829 246,995 11.327 R.5994 418,970 5.692 31,848 0.811 R.C3 402,543 5.468 5,246 0.557
<!-- Buffer resize is set to false in index.html -->
<script type="text/javascript">
Ext.Container.prototype.bufferResize = false;
</script>
The Max/Restore Window Size combines both maximizing and restoring the window size.
The times above are in number of seconds and measured with profiling enabled.
Therefore, it's faster when not profiling.
How does the new Firefox stack up against IE 6 and 8?
Tests were done against the R.C3 build.
Resizing is nice with Firefox. Things sizes and falls into place nearly as fast as IE 8.Code:Browser Form Grid Editor Table ========= ======= ======= ======== ======= IE 6.0 1.125 0.625 1.609 4.125 IE 8.0 0.624 0.546 1.061 2.387 FF 3.6 0.874 0.586 1.173 1.665
I will share my R.C3 delta with the dev team. It's very small and applied to the current build.
I need to run some additional tests. So far all looks good. Also keep in mind that the current build is also nice.
Kind Regards,
MarioLast edited by meroy; 4 Feb 2010 at 1:01 PM. Reason: Added IE 6.0 results
-
4 Feb 2010 4:05 AM #2
The number of calls are higher with 3.0.3 compared to 3.1.0. The reason is that 3.1.0 is when all the unrolling of many Ext.each statements to for loops occured.
-
4 Feb 2010 5:52 AM #3
Nice work. Any chance you can also compare IE 6 and 7? The majority of our users are still on these versions (sadly).
-
4 Feb 2010 6:01 AM #4Sencha - Community Support Team
- Join Date
- Mar 2007
- Location
- Frederick MD, NYC, DC
- Posts
- 16,169
- Vote Rating
- 28
I am so glad that the ExtJS team is working with you on this.

Jay Garcia @ModusJesus || Modus Create co-founder
Ext JS in Action author
Sencha Touch in Action author
Get in touch for Ext JS & Sencha Touch Touch Training
We are also working on Video-based Sencha Touch training: Check it out here.
-
4 Feb 2010 10:23 AM #5
Performance in IE is for me, still the biggest challenge in launching the app I am working on. Any and alll improvements are welcomed

-
4 Feb 2010 10:52 AM #6
@meroy: Thanks for the good work! For my education, can you explain two things to me:
1) You set bufferResize=false; this seems counter-intuitive to me. Is the purpose of bufferResize not to reduce the number of container layouts? Seems like you would want this enabled for best performance???
2) When you mention "unrolling Ext.each statements", I assume you are referring to changing Ext.each to simple for() loops to eliminate the per-item function call inherent with in Ext.each? While this would certainly seem to be more efficient (I've never been a big fan of Ext.each), have you done any benchmarks to see how much performance benefit this really yields?
-
4 Feb 2010 11:07 AM #7Sencha - Sencha Touch Dev Team
- Join Date
- Mar 2007
- Location
- Redwood City, California
- Posts
- 3,652
- Vote Rating
- 14
1) This due to how the logic works in ContainerLayout's onResize. I wouldn't recommend changing it in general as it can cause layout issues. 3.1.2 will address this more directly.
2) I don't remember the specific numbers, but it was easily enough to refactor back into the base.
-
4 Feb 2010 11:17 AM #8
On #1, are you saying that I should or should not set bufferResize=false in 3.1.0 and/or 3.1.1?
-
4 Feb 2010 12:17 PM #9
-
4 Feb 2010 1:07 PM #10
I added results for IE 6. I find that IE 8 is a nice browser for running Ext JS driven apps in addition to webkit based browsers.
Jamie is working on something for the 3.1.2 release. That will make Firefox more enjoyable to use as it will further minimize the calling of getComputedStyle I believe.


Reply With Quote