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

knopp edited comment on WICKET-2127 at 2/25/09 10:15 AM:
---------------------------------------------------------------

You replacement function is broken. It needs to escape more characters. I added 
some.

var replaceAll = function(str, from, to) {
        eval(
                'var regex = /'
                + from.replace( /[\(\)\[\]\{\}\$\^\.\?\*\+\\\/\|]/g ,'\\$&' )
                + '/g ;'
        );
        return str.replace(regex,to);
}

I don't mind replacing the current function with this but at this point I'm not 
sure it escapes all necessary characters.

      was (Author: knopp):
    You replacement function is broken. It needs to escape more characters. I 
added some.

var replaceAll = function(str, from, to) {
        eval(
                'var regex = /'
                + from.replace( /[\(\)\[\]\{\}\$\^\.\?\*\+\\\/]/g ,'\\$&' )
                + '/g ;'
        );
        return str.replace(regex,to);
}

I don't mind replacing the current function with this but at this point I'm not 
sure it escapes all necessary characters.
  
> Javascript function Wicket.replaceAll is unbearably slow
> --------------------------------------------------------
>
>                 Key: WICKET-2127
>                 URL: https://issues.apache.org/jira/browse/WICKET-2127
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4-RC2
>         Environment: Firefox 3.0.5, Opera 9.2 (windows)
>            Reporter: Sean Patrick Floyd
>            Assignee: Matej Knopp
>             Fix For: 1.4-RC3
>
>         Attachments: wicketReplaceAll.js
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> I use AbstractAjaxTimerBehavior to update many different components on my 
> pages periodically.
> After a while, the browser occupies 50% or more of the system resources.
> I used the javascript profiler in firebug and found that Wicket.replaceAll is 
> responsible for 60+ percent of javascript processing time.
> The problem is that sequential string processing is used instead of much 
> faster regular expressions

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to