[ 
https://issues.apache.org/jira/browse/WICKET-5132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13623556#comment-13623556
 ] 

Bas Veenema commented on WICKET-5132:
-------------------------------------

I'll attach the javascript that is in the response. Javascript part is being 
tuned... but this is the example that takes about 25 seconds to process in IE10.

In IE9 there's no performance issue because elem.textContent is undefined, 
which results in traversing its children and eventually returning 
elem.nodeValue, which performs as expected. 

I understand what you're saying about reporting to the jQuery project instead, 
however, it seems a bit overkill to call a jQuery function to get the text from 
a node when you can get the text from the node directly.

Maybe you can take a look at 
http://jsperf.com/xml-text-selection-jquery-vs-textcontent-vs-nodevalue. 
Performance of $(node).text() on my machine (using chrome) is 93% slower than 
node.firstChild.nodeValue.

So unless of course there's a good reason to use jQuery's .text() it seems to 
me that it's a bit overkill for this particular usage.
                
> Evaluation of returned data (which includes alot of javascript) very slow 
> after ajax call in IE10.
> --------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-5132
>                 URL: https://issues.apache.org/jira/browse/WICKET-5132
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.0.0
>         Environment: IE10
>            Reporter: Bas Veenema
>              Labels: javascript, performance
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> We're using ajax to update a treetable. In IE10, when the ajax call returns 
> the data, which contains alot of javascript code, processEvaluation in 
> wicket-ajax-jquery.js stalls on var text = jQuery(node).text();
> In jQuery procedure Sizzle.getText is called, which eventually returns 
> property elem.textContent. In IE10 this last statement takes about 26 seconds 
> for our case while the same statement in chrome takes about 6 ms.
> It seems strange that IE10 takes this long to return the textContent of a 
> node, but why is this necessary in the first place?
> The purpose of var text = jQuery(node).text() would be to get the text of the 
> node. I think it would suffice to state var text = 
> node.childNodes[0].nodeValue instead of var text = Query(node).text(), 
> because the text is in the node itself, and it's not necessary to get the 
> text from its descendants, because it has no descendants.
> In our case this modification improves the duration from 25915 ms to 8 ms in 
> IE10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to