Summary: | Showing large plain-text files is extremely slow | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Benjamin Meyer <ben> | ||||
Component: | Layout and Rendering | Assignee: | QtWebKit Unassigned <webkit-qt-unassigned> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Major | CC: | eike.ziller, jturcotte, kenneth, kling, laszlo.gombos | ||||
Priority: | P1 | Keywords: | Performance, Qt | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 35784 | ||||||
Attachments: |
|
Description
Benjamin Meyer
2008-07-16 07:45:13 PDT
I started hacking around and made a branch that passes all of the tests and re-uses the iterator when possible, but it is a bit of a hack and when you enable the other iterator caches there are three failures which doesn't make any sense... And it can still crash an iterator is created, the string is deleted a new string is created at the same location in memory, but with a different lenght and a new iterator is created with it. We should just see about re-using the same iterator upstream. Branch: http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=shortlog;h=bmeyer/fasttext Diff: http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=blobdiff;f=WebCore/platform/qt/TextBreakIteratorQt.cpp;h=94aafdba5e8fd2e261caa4b446756112e1a3c2c6;hp=88b96808650ed290ea328208157d2f965089d39e;hb=95c45c80fc64841cfc262facaba34750b9ca5138;hpb=af6eca2c5a5ec7e5a462ad211f8f1e3cb9bdef86 Probably worth looking into what the average length is. Maybe we could get rid of the buffer There have recently been some commits that could improve this: https://bugs.webkit.org/show_bug.cgi?id=29092 Can you tell me if this is still an issue? Created attachment 44137 [details]
Large text file
Example generated using:
dd if=/dev/random bs=1024 count=256 | base64 > large.txt
The bug is still present, reloading this file locks the browser for 20 seconds, it loads instantly in firefox.
This bug has to be fixed for QtWebKit 2.0 *** This bug has been marked as a duplicate of bug 31719 *** Shouldn't that one be a duplicate of this issue as this is the older issue? I opted for keeping the other one since it had more useful information. |