Why is Redfin slower on IE6?
If you have tried out Redfin on both Internet Explorer 7 and Internet Explorer 6 you will notice that Internet Explorer 6 is much much slower. Wondering why one of our developers spent some time researching the problem and it looks like Internet Explorer’s JavaScript garbage collector is likely to blame:
The crux of the problem is that IE’s script engine uses allocations to determine when to run the GC; that is after 256 variable allocations, 4096 array slot allocations, or 64kb of strings have been allocated. Not only are allocations a bad indicator of garbage, but these limits are such that any decent sized application is going to make the GC run pretty regularly.
To compound this problem, the running time of the garbage collection routine is dependent on the size of the working set (O(N^2) as described in Lippert’s article, though the results below show a linear relationship). So as your application gets bigger the garbage collection runs slower.
Now Microsoft does have a fix to change the default GC triggers - You may experience slow performance when you view a Web page that uses JScript in Internet Explorer 6. However, the fix involves registry editing.
Typically when a customer on Internet Explorer writes in about poor performance I recommend upgrading to Internet Explorer 7. However a number of users are forced to continue to use Internet Explorer 6 either because they are in a corporate environment and are unable to upgrade or have to run Internet Explorer 6 because one or more other websites they use do not work in Internet Explorer 7. In either case recommending that they change registry values is hardly suitable.
Given that web pages are becoming more and more JavaScript intensive thanks to the adoption of AJAX and that Internet Explorer 7 adoption appears to have plateaued (likely for the aforementioned reasons) it would be very nice of Microsoft to consider pushing a critical fix for this issue via Windows Update.