Also found that by calling window.setPage vs. window.setText we save (on my system) roughly 5-6 seconds on average. The only caveat is that to use setPage we need to take the chat log that has been parsed to HTML and save it as an HTML file somewhere and reload it in as a URL and pass that url into the window.setPage method.
Here are my timings from two runs (the first being with setPage and the second with setText)
Getting transcript stream forwroot@igniterealtime.org
Start xml parsing - 1310793455403
Finish xml parsing - 1310793456032
Parsing Start - 1310793456109
Parsing finished - 1310793456452
Setting the text - 1310793456452
Running a replace on the builder... - 1310793456508
Ending - 1310793456509
1106
Getting transcript stream forwroot@igniterealtime.org
Start xml parsing - 1310793626502
Finish xml parsing - 1310793627004
Parsing Start - 1310793627121
Parsing finished - 1310793627427
Setting the text - 1310793627428
Running a replace on the builder... - 1310793634475
Ending - 1310793634475
7973
As you can see it is a lot of time saved! The major diff. being that setPage calls updates/draws once the entire file has been loaded whereas setText redraws the handle after each line (which is why very large files can take quite a bit of time to load).
You can definitely feel the setPage drawing though - it may take about 1 second to finish loading the large file (in my case it's roughly 3MB) but it takes an additional one or two seconds to finish the update/draw method on that much text. I'm certain there are more ways to speed this up though.
no fix available for 2.6.1