<div dir="ltr">$B<~$5$s(B<div>$BJFNS$G$9!#(B</div><div><br></div><div><div>kumu.js is old &nbsp;javascript library, which was used long time ago.</div><div>It support old browsers.</div></div><div><div><br></div><div>Try to do in the following manner.&nbsp;</div>
<div>Unzip the jar file, should be abolished prototype extensions to modify the kumu.js.&nbsp;</div><div>And should be placed in the WEB-INF/lib create a jar file, including the kumu.js the modified.</div></div><div><br></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-13 10:53 GMT+09:00 $B<~(B $B0NL@(B <span dir="ltr">&lt;<a href="mailto:zhou_w@worksap.co.jp" target="_blank">zhou_w@worksap.co.jp</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
$BJFNS$5$s!"(B<br>
<br>
Thank you for you reply!<br>
<br>
I&#39;m using a bunch of JavaScript libraries, most notably jQuery UI tabs <a href="https://jqueryui.com/tabs/" target="_blank">https://jqueryui.com/tabs/</a> version 1.9.2.<br>
When the number of tabs gets large, the performance degrades dramatically in IE7/IE8. Another library has<br>
similar performance degradation is jqgrid <a href="http://www.trirand.com/blog/" target="_blank">http://www.trirand.com/blog/</a> version 4.4.3.<br>
<br>
As a result of investigation, these libraries rely heavily on Array.unshift, which is overridden by kumu.js with<br>
its own implementation. Saving it and restoring later after kumu.js can be a workaround:<br>
<br>
&lt;script type=&quot;text/javascript&quot;&gt;<br>
var originalUnshift = Array.unshift;<br>
&lt;/script&gt;<br>
&lt;script type=&quot;text/javascript&quot; &nbsp;src=&quot;/teedaExtension/org/seasar/teeda/ajax/js/kumu.js&quot;&gt;&lt;/script&gt;<br>
&lt;script&gt;<br>
Array.prototype.unshift = originalUnshift;<br>
&lt;/script&gt;<br>
<br>
With this trick, I got almost 5x speed up in IE7/IE8. But there are many places in my project have kumu.js linked,<br>
so I have to apply this trick everywhere and it&#39;s really troublesome.<br>
<br>
This kind of performance penalty happens in real IE7/IE8, but not in the IE7/IE8 simulated mode of IE9+,<br>
nor in modern browsers such as Chrome/Firefox. That&#39;s probably because that the JavaScript engine of modern<br>
browsers are no optimized that the additional performance overhead caused by overridden Array.unshift is not<br>
sensible.<br>
<br>
Generally I think replacing the built-in methods provided by the browsers is not a good idea.<br>
<div class=""><br>
Any advice or suggestion will be greatly appreciated.<br>
<br>
Best Regards,<br>
<br>
<br>
<br>
</div>2014-03-13 06:30:31 (+09:00) Masaaki Yonebayashi &lt;<a href="mailto:yone@abby.co.jp">yone@abby.co.jp</a>&gt; wrote<br>
<div class="">&gt; $BJFNS$G$9!#(B<br>
&gt;<br>
&gt; What specific process do you do when the performance desgrade?<br>
&gt;<br>
&gt; 2014$BG/(B2$B7n(B19$BF|?eMKF|!"<~(B $B0NL@(B&lt;<a href="mailto:zhou_w@worksap.co.jp">zhou_w@worksap.co.jp</a>&gt;$B$5$s$O=q$-$^$7$?(B:<br>
&gt;<br>
&gt; &gt; $B$*@$OC$K$J$C$F$$$^$9!#(B<br>
&gt; &gt; $B<~$H?=$7$^$9!#(B<br>
&gt; &gt;<br>
&gt; &gt; kumu.js is overriding the prototype of array:<br>
&gt; &gt;<br>
&gt; &gt; Array.prototype = Kumu.extend(Array.prototype, {<br>
&gt; &gt; &nbsp; map:Kumu.map,<br>
&gt; &gt; &nbsp; filter:Kumu.filter,<br>
&gt; &gt; &nbsp; shift:Kumu.shift,<br>
&gt; &gt; &nbsp; unshift:Kumu.unshift,<br>
&gt; &gt; &nbsp; include:Kumu.include<br>
&gt; &gt;<br>
&gt; &gt; });<br>
&gt; &gt;<br>
&gt; &gt; which is causing serious performance problems in JavaScript heavy page in<br>
&gt; &gt; IE7,8.<br>
&gt; &gt;<br>
&gt; &gt; What&#39;s the reason? If kumu.js is trying to deal with legacy browsers<br>
&gt; &gt; without<br>
&gt; &gt; all these methods provided, at least it should the existence of the methods<br>
&gt; &gt; before overriding them.<br>
&gt; &gt;<br>
&gt; &gt; Any advice or suggestion will be greatly appreciated.<br>
&gt; &gt;<br>
&gt; &gt; Best Regards,<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Seasar-user mailing list<br>
</div>&gt; &gt; <a href="mailto:Seasar-user@ml.seasar.org">Seasar-user@ml.seasar.org</a> &lt;javascript:;&gt;<br>
<div class="HOEnZb"><div class="h5">&gt; &gt; <a href="https://ml.seasar.org/mailman/listinfo/seasar-user" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-user</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; $BJF(B $BNS(B &nbsp; $B@5(B $BL@(B<br>
&gt; $B3t<02q<R(BAbby($B%(%S%$(B)<br>
&gt; <a href="http://abby.co.jp" target="_blank">http://abby.co.jp</a><br>
_______________________________________________<br>
Seasar-user mailing list<br>
<a href="mailto:Seasar-user@ml.seasar.org">Seasar-user@ml.seasar.org</a><br>
<a href="https://ml.seasar.org/mailman/listinfo/seasar-user" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-user</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>$BJF(B $BNS(B &nbsp; $B@5(B $BL@(B<br>$B3t<02q<R(BAbby($B%(%S%$(B)<br><a href="http://abby.co.jp" target="_blank">http://abby.co.jp</a>
</div>