[Webkit-unassigned] [Bug 37698] Line not wrapped at certain punctuations

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 26 21:32:04 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=37698





--- Comment #16 from Xianzhu Wang <phnixwxz at gmail.com>  2010-07-26 21:32:03 PST ---
Created an attachment (id=62641)
 --> (https://bugs.webkit.org/attachment.cgi?id=62641)
performance test

(In reply to comment #15)
> Thank you for testing! The results are a little vague. Did this register as slower than the original code in your test? If so, did you test the impact on any page-loading test?
> I want to r+ the patch but I still have some concerns about performance. Please answer my question above. Thanks again!

Sorry, after investigation I found that yesterday's test results were incorrect because I just called shouldBreakAfter() but didn't let the return values depend on some long-lived variable, so the compiler optimized the whole function out.

I modified the test code and run again (CPU 2.4G i5). The test runs 15x5000 loops of each shouldBreakAfter() implementation. break_lines.cpp is used as the input to test line breaking opportunity between each adjacent characters.

The results are (first column: calling shouldBreakAfter() only; second column: calling 'isBreakableSpace() || shouldBreakAfter()'):

original:     1.972549s 4.934085s
new unpacked: 4.302849s 4.680052s
new packed:   4.751770s 4.520014s

I'm curious about that the second column shows the new implementation is even faster than the original. I can't explain this from the source code. I also briefly read the optimized assembly code, and didn't find the reason.

I'm also trying to run page load tests. Hopefully I'll give results tomorrow.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list