[webkit-reviews] review requested: [Bug 96979] Update RenderText to use String instead of UChar* for text : [Attachment 167142] Patch with 8 bit TextRun creation wrapped in new feature macro - ENABLE_CAN_USE_8BIT_TEXTRUN

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 4 11:24:33 PDT 2012


Michael Saboff <msaboff at apple.com> has asked  for review:
Bug 96979: Update RenderText to use String instead of UChar* for text
https://bugs.webkit.org/show_bug.cgi?id=96979

Attachment 167142: Patch with 8 bit TextRun creation wrapped in new feature
macro - ENABLE_CAN_USE_8BIT_TEXTRUN
https://bugs.webkit.org/attachment.cgi?id=167142&action=review

------- Additional Comments from Michael Saboff <msaboff at apple.com>
The problems found by the chromium test bot is due to the chromium platform
code expecting all TextRun's contain 16 bit text data.	A quick check shows
that the other platforms have this issue.

Added a new ENABLE_CAN_USE_8BIT_TEXTRUN macro to Platform.h and set it for
PLATFORM(MAC).	Other platforms will need to update their platform code that
uses TextRun's to handle 8 bit text.

Also wrapped debug only code in #ifndef NDEBUG.  This took care of the
performance issues.  New results:

			Baseline    With Changes
flexbox-column-nowrap	102202.6	106557.6   runs/s
flexbox-column-nowrap	102850.4	107438.7
flexbox-column-nowrap	103790.0	107801.1
flexbox-column-nowrap	103997.7	107876.5
    Mean		103210.2	107518.5   Diff    4.08%
flexbox-column-wrap	102530.4	105129.5   runs/s
flexbox-column-wrap	105323.5	105373.8
flexbox-column-wrap	107329.5	105420.4
flexbox-column-wrap	107347.2	105992.0
    Mean		105632.7	105478.9   Diff   -0.15%
flexbox-row-nowrap	138271.6	143728.1   runs/s
flexbox-row-nowrap	140718.1	145321.6
flexbox-row-nowrap	144811.8	146044.2
flexbox-row-nowrap	146147.0	148958.8
    Mean		142487.1	146013.1   Diff    2.47%
flexbox-row-wrap	103482.7	103598.8   runs/s	
flexbox-row-wrap	103778.7	105639.1		
flexbox-row-wrap	104554.4	106845.4
flexbox-row-wrap	105866.3	109833.9	
    Mean		104420.5	106479.3   Diff    1.97%
floats_100_100		   200.0	   198.0   ms 
floats_100_100		   201.0	   198.5
floats_100_100		   201.5	   199.0   
floats_100_100		   202.5	   199.5   
    Mean		   201.3	   198.8   Diff    1.24%
floats_100_100_nested	   215.5	   213.5   ms
floats_100_100_nested	   215.5	   213.5
floats_100_100_nested	   217.5	   216.5   
floats_100_100_nested	   218.5	   216.5   
    Mean		   216.8	   215.0   Diff    0.81%
floats_20_100		   409.9	   410.7   ms
floats_20_100		   411.4	   412.3
floats_20_100		   413.0	   414.1   
floats_20_100		   416.3	   414.7   
    Mean		   412.6	   413.0   Diff   -0.08%
floats_20_100_nested	   612.3	   614.0   ms
floats_20_100_nested	   618.3	   615.3
floats_20_100_nested	   635.2	   616.3   
floats_20_100_nested	   635.7	   634.2   
    Mean		   625.4	   620.0   Diff    0.87%
floats_2_100		   204.6	   205.4   ms
floats_2_100		   205.7	   205.9
floats_2_100		   205.9	   206.8   
floats_2_100		   206.0	   207.4   
    Mean		   205.6	   206.4   Diff   -0.40%
floats_2_100_nested	   463.6	   457.2   ms
floats_2_100_nested	   463.9	   459.1
floats_2_100_nested	   464.5	   460.0   
floats_2_100_nested	   466.7	   460.1   
    Mean		   464.7	   459.1   Diff    1.20%
floats_50_100		   305.6	   302.6   ms	  
floats_50_100		   312.4	   309.6
floats_50_100		   313.0	   310.4   
floats_50_100		   314.4	   311.6   
    Mean		   311.4	   308.6   Diff    0.90%
floats_50_100_nested	   367.6	   370.0   ms	  
floats_50_100_nested	   370.8	   370.8
floats_50_100_nested	   371.8	   371.0   
floats_50_100_nested	   375.6	   371.0   
    Mean		   371.5	   370.7   Diff    0.20%
line-layout		    79.6	    83.2   runs/s
line-layout		    80.0	    83.7 
line-layout		    80.1	    83.9    
line-layout		    80.1	    84.1    
    Mean		    80.0	    83.7   Diff    4.70%


More information about the webkit-reviews mailing list