ExtJS 3.1 Memory leak verification
The following result shows two memory use, library itself and Ext.Window.
ExtJS library
I attached the library ext-base.js and ext-all.js with ext-all.css, but without doing any creation. In other words, only ExtJS global variables and functions are created. The result is as following table.
Browsers | Browser use (blank page) (KB) | Initial ExtJS use(KB) | Use after 20 browser refreshing(KB) |
---|---|---|---|
IE6 | 11,260 | 30,712 | 35,504 |
IE8(two threads) | 14,148 | 29,480 | 37,468 |
17,236 | 18,052 | 18,012 | |
Firefox 3.5 | 35,164 | 43,080 | 59,824 |
Chrome 3.0(two threads) | 20,864 | 34,280 | 34,296 |
7,804 | 8,900 | 24,408 |
The above table shows the library itself memory leak. When the page is unloaded, the memory used by ExtJS can not be released by all tested browsers.
Ext.Window memory use
I created very simple Ext.Window with "Hello World" text using the new v3.1 library and attached it to a normal html button. The memory leak is shown on both Firefox 3.5 and IE6 as below.
Browsers | First Window use (KB) | Use after 30 windows creation (KB) | Use after closing all 30 windows |
---|---|---|---|
IE6 | 29,712 | 43,300 | 39,102 |
Firefox 3.5 | 55,012 | 62,501 | 60,800 |
ExtJS 2.1 and ExtJS 3.1 Performance Comparison
The following table shows the performance comparison between using v2.1 and v3.1 on our Front-End.
The profiling was conducted on the same machine with the Apache environment.
The result shows that the v3.1 memory use and its Javascript performance is degraded on all browsers comparing with v2.1.
IE 6
The V3.1 on IE6 is significantly slower. It took 90 seconds to switch between the product tab panels and the price updating is noticeably lagging. The CPU is intensively used for updating prices. It hardly can be used.
IE 7
Events | V2.1 | V3.1 | ||
---|---|---|---|---|
Memory use(KB) | Loading timeAverage (S) | Memory use(KB) | Loading timeAverage (S) | |
Initial Loading | 55,572 | 4.5 | 65,052 | 5.8 |
Ext.Window Creation | 60,120 | 1.0 | 72,440 | 1.0 |
Tab switching | 63,200 | 3.0 | 74,372 | 5.9 |
Browser Refreshing | 78,976 | 5.4 | 92,560 | 6.3 |
2nd Browser Refreshing | 79,500 | 93,564 |
IE 8
Events | V2.1 | V3.1 | ||
---|---|---|---|---|
Memory use(KB) | Loading timeAverage (S) | Memory use(KB) | Loading timeAverage (S) | |
Initial Loading | 48,304 | 3.6 | 54,464 | 4.2 |
Ext.Window Creation | 53,660 | 0.6 | 62,376 | 0.7 |
Tab switching | 56,516 | 1.1 | 65,220 | 2.4 |
Browser Refreshing | 69,088 | 3.6 | 88,300 | 3.6 |
2nd Browser Refreshing | 59,752 | 81,564 |
Firefox 2.0
Events | V2.1 | V3.1 | ||
---|---|---|---|---|
Memory use(KB) | Loading timeAverage (S) | Memory use(KB) | Loading timeAverage (S) | |
Initial Loading | 31,592 | 5.2 | 35,344 | 7.1 |
Ext.Window Creation | 32,248 | 1.3 | 35,620 | 1.3 |
Tab switching | 36,592 | 1 | 39,404 | 3.3 |
Browser Refreshing | 40,584 | 5.3 | 43,552 | 6.8 |
2nd Browser Refreshing | 40,392 | 43,468 |
Firefox 3.5
Events | V2.1 | V3.1 | ||
---|---|---|---|---|
Memory use(KB) | Loading timeAverage (S) | Memory use(KB) | Loading timeAverage (S) | |
Initial Loading | 57,104 | 4.2 | 66,292 | 4.6 |
Ext.Window Creation | 57,672 | 0.6 | 67,316 | 0.7 |
Tab switching | 63,052 | 0.6 | 71,676 | 1.7 |
Browser Refreshing | 65,272 | 4.1 | 77,248 | 4.5 |
2nd Browser Refreshing | 63,944 | 73,352 |
Great info! This is quite eye opening, considering the 3.1 'Massive memory improvement' marketing. Do you think you can post your testing methodology and source code? It would be great to reproduce and verify your results.
ReplyDeletevery nice test, I also thought that v3.1 is not faster, this test convinced me, thank you
ReplyDeleteReally nice post.
ReplyDeleteSeems to be the only reliable source for real world Ext JS performance.
Any plans on re-doing the performance test for ExtJs 3.2?
I do not want to invest time into switching unless I know it is faster. They already tricked me once.
Ext Apps are gonna slowly start getting a bad name or known for sluggishness unless the Ext Team makes memory usage and performance the number 1 priority... I pray to god they due. We're launching our app at the end of the year and right now its a memory pig and performance in IE is baaddd.....
ReplyDelete