Commit Graph

22 Commits

Author SHA1 Message Date
commit-bot@chromium.org
5b2e2640ed Revise SVD code to remove arctangents.
Also added bench for timing matrix decomposition.

R=reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23596006

git-svn-id: http://skia.googlecode.com/svn/trunk@11066 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 19:08:14 +00:00
tfarina@chromium.org
7731eada5b Fix more clang errors.
Fixed -Wunused-private-field errors.

R=reed@google.com,bsalomon@google.com

Review URL: https://codereview.chromium.org/13474012

git-svn-id: http://skia.googlecode.com/svn/trunk@8547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 21:13:14 +00:00
sugoi@google.com
77472f06f8 Bench : Unused parameters cleanup
I removed unused parameters in bench wherever it was trivial to do so.
Review URL: https://codereview.appspot.com/7411046

git-svn-id: http://skia.googlecode.com/svn/trunk@7988 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-05 18:50:01 +00:00
reed@google.com
90533be035 add matrixbench for invert_translate
git-svn-id: http://skia.googlecode.com/svn/trunk@7015 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 15:46:42 +00:00
reed@google.com
82bf8bbcbc use DEF_BENCH to simplify registration
git-svn-id: http://skia.googlecode.com/svn/trunk@7012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 14:04:08 +00:00
robertphillips@google.com
31f8f73e83 Fixed valgrind complaint in MatrixBench
https://codereview.appspot.com/6492129/



git-svn-id: http://skia.googlecode.com/svn/trunk@5566 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 13:36:47 +00:00
tomhudson@google.com
9dc2713fc4 Let SkBenchmark classes specify that they do no rendering.
Doing this gives us a 15-20% speedup in bench cycle time.
Here again I'm just picking the easy targets.

http://codereview.appspot.com/6500115/



git-svn-id: http://skia.googlecode.com/svn/trunk@5525 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-13 15:50:24 +00:00
rmistry@google.com
fbfcd56021 Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
junov@chromium.org
6fc5699e77 Fixing type mask computation in SkMatrix to make it faster and make it so that matrices have the same type masks as their inverses.
This patch also add bench tests that call invert() followed by mapRect() on various types of matrices.  Performance of these tests was greatly affected by typemask computation

Review URL: http://codereview.appspot.com/6380043/
BUG=https://code.google.com/p/chromium/issues/detail?id=135259



git-svn-id: http://skia.googlecode.com/svn/trunk@4562 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 14:01:32 +00:00
bsalomon@google.com
3d3dfe011c Fixes int to scalar warnings. This checkin changes the range of random matrix values in a benchmark but it is believed not to affect the runtime.
Review URL: http://codereview.appspot.com/5371045/


git-svn-id: http://skia.googlecode.com/svn/trunk@2653 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 13:50:19 +00:00
tomhudson@google.com
ca529d303e In debug builds, only run each benchmark 1 time (test for assertion-breakage,
not performance).
codereview.appspot.com/5314064/



git-svn-id: http://skia.googlecode.com/svn/trunk@2552 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-28 15:34:49 +00:00
bsalomon@google.com
820e80ad63 Fix some warnings on VS2010
Review URL: http://codereview.appspot.com/5312051/



git-svn-id: http://skia.googlecode.com/svn/trunk@2520 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-24 21:09:40 +00:00
epoger@google.com
ec3ed6a5eb Automatic update of all copyright notices to reflect new license terms.
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
tomhudson@google.com
f5f83e1f7e Fix bad merge which broke compiles.
git-svn-id: http://skia.googlecode.com/svn/trunk@1716 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 19:15:57 +00:00
tomhudson@google.com
317d540409 New benchmark for SkMatrix::computeType().
Utility function in SkMatrix to make benchmarking more accurate.



git-svn-id: http://skia.googlecode.com/svn/trunk@1710 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 18:30:49 +00:00
bungeman@google.com
2080900985 Fix scale metric bench.
git-svn-id: http://skia.googlecode.com/svn/trunk@1549 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 19:38:53 +00:00
tomhudson@google.com
288ff33d06 New benchmarks to determine performance of matrix-point multiplication for floating point vs. double matrices.
Over-the-shoulder review by reed@.



git-svn-id: http://skia.googlecode.com/svn/trunk@1525 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-07 14:31:38 +00:00
reed@google.com
cbefd7d842 add internal multiplier for loopcount, to reduce variance for simple/fast tests
git-svn-id: http://skia.googlecode.com/svn/trunk@1510 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-06 13:31:30 +00:00
reed@google.com
e0dcde7399 make concat_float distinguishable using -match
init our float/double arrays, so we get reliable timings (NaNs are slow)



git-svn-id: http://skia.googlecode.com/svn/trunk@1509 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-06 13:20:29 +00:00
tomhudson@google.com
a20416b010 Remove warnings, improve benchmark quality, complicate benchmark results:
- data on heap instead of stack
 - more closely match operations of actual SkMatrix::setConcat()
 - avoid random perturbations, do_always;
   use perf annotate to verify that assembly isn't getting optimized away



git-svn-id: http://skia.googlecode.com/svn/trunk@1500 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-03 20:32:58 +00:00
tomhudson@google.com
7b4e107322 <body onunload="M_unloadPage();">
<!-- Begin help window -->
<script type="text/javascript"><!--
var xsrfToken = 'dd5d1a57ca1d5440593050fdc596d377';
var helpDisplayed = false;
document.onclick = M_clickCommon;
var media_url = "/static/";
var base_url = "/";

var publish_link = "/4571045/publish";

// -->
</script>
<div id="help" style="display: none;">

<div style="font-size: medium; text-align: center;">Keyboard Shortcuts</div>
<hr>
<table width="100%">

  <tbody><tr valign="top">
      <td>
            <table width="100%">
	            <tbody><tr>
		              <td></td><th>File</th>
			              </tr>
				              <tr>
					                <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to issue</td>
							        </tr>
								        <tr>
									          <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
										          </tr>
											  	<tr>
													  <td class="shortcut"><span class="letter">M</span> <b>:</b></td><td>edit review message</td>
													  	</tr>
														        <tr>
															          <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to file after / before current file</td>
																          </tr>
																	          <tr>
																		            <td class="shortcut"><span class="letter">J</span> / <span class="letter">K</span> <b>:</b></td><td>jump to next file with a comment after / before current file</td>
																			            </tr>
																				            <tr>
																					              <td></td><th>Side-by-side diff</th>
																						              </tr>
																							              <tr>
																								                <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>toggle intra-line diffs</td>
																										        </tr>
																											        <tr>
																												          <td class="shortcut"><span class="letter">e</span> <b>:</b></td><td>expand all comments</td>
																													          </tr>
																														          <tr>
																															            <td class="shortcut"><span class="letter">c</span> <b>:</b></td><td>collapse all comments</td>
																																            </tr>
																																	            <tr>
																																		              <td class="shortcut"><span class="letter">s</span> <b>:</b></td><td>toggle showing all comments</td>
																																			              </tr>
																																				              <tr>
																																					                <td class="shortcut"><span class="letter">n</span> / <span class="letter">p</span> <b>:</b></td><td>next / previous diff chunk or comment</td>
																																							        </tr>
																																								        <tr>
																																									          <td class="shortcut"><span class="letter">N</span> / <span class="letter">P</span> <b>:</b></td><td>next / previous comment</td>
																																										          </tr>
																																											          <tr>
																																												            <td class="shortcut"><span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>respond to / edit current comment</td>
																																													            </tr>
																																														          </tbody></table>
																																															      </td>
																																															          <td>
																																																        <table width="100%"> 
																																																	        <tbody><tr>
																																																		         <td></td><th>Issue</th>
																																																			         </tr>
																																																				         <tr>
																																																					           <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to list of issues</td>
																																																						           </tr>
																																																							           <tr>
																																																								             <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
																																																									             </tr>
																																																										     	<tr>
																																																												  <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to patch after / before current patch</td>
																																																												  	</tr>
																																																														<tr>
																																																															  <td class="shortcut"><span class="letter">o</span> / <span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>open current patch in side-by-side view</td>
																																																															  	</tr>
																																																																	<tr>
																																																																		  <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>open current patch in unified diff view</td>
																																																																		  	</tr>
																																																																			        <tr><td>&nbsp;</td></tr>
																																																																				        <tr><td></td><th>Issue List</th></tr>
																																																																					        <tr>
																																																																						          <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to issue after / before current issue</td>
																																																																							          </tr>
																																																																								          <tr>
																																																																									            <td class="shortcut"><span class="letter">o</span> / <span class="letter">&lt;Enter&gt;</span> <b>:</b></td><td>open current issue</td>
																																																																										            </tr>
																																																																											            <tr>
																																																																												    	  <td class="shortcut"><span class="letter">#</span> <b>:</b></td>
																																																																													  	  <td>close issue</td>
																																																																														  	</tr>
																																																																															        <tr><td>&nbsp;</td></tr>
																																																																																        <tr>
																																																																																	          <td></td><th>Comment/message editing</th>
																																																																																		          </tr>
																																																																																			          <tr>
																																																																																				            <td class="shortcut"><span class="letter">&lt;Ctrl&gt;</span> + <span class="letter">s</span> <b>:</b></td><td>save comment</td>
																																																																																					            </tr>
																																																																																						            <tr>
																																																																																							              <td class="shortcut"><span class="letter">&lt;Esc&gt;</span> <b>:</b></td><td>cancel edit</td>
																																																																																								              </tr>
																																																																																									            </tbody></table>
																																																																																										        </td>
																																																																																											  </tr>

																																																																																											  </tbody></table>
																																																																																											  </div>
																																																																																											  <!-- End help window -->

																																																																																											  <div align="right">

																																																																																											  <div style="float:left; font-weight:bold"><i>Rietveld</i> Code Review Tool</div>


																																																																																											  <b>tomhudson@google.com (TomH)</b>
																																																																																											  |

																																																																																											  <a class="novisit" href="/settings">Settings</a>
																																																																																											  |


																																																																																											  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld/wiki/CodeReviewHelp">Help</a>
																																																																																											  |
																																																																																											  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld/issues/list">Bug tracker</a>
																																																																																											  |
																																																																																											  <a class="novisit" target="_blank" href="http://groups.google.com/group/codereview-discuss">Discussion group</a>
																																																																																											  |
																																																																																											  <a class="novisit" target="_blank" href="http://code.google.com/p/rietveld">Source code</a>
																																																																																											  |

																																																																																											  <a class="novisit" href="http://codereview.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout%3Fcontinue%3Dhttps://appengine.google.com/_ah/logout%253Fcontinue%253Dhttp://codereview.appspot.com/4571045/%26service%3Dah">Sign out</a>

																																																																																											  </div>

																																																																																											  <div class="counter">(691)</div>
																																																																																											  <div class="mainmenu">
																																																																																											    
																																																																																											      <a href="/" class="active">Issues</a>
																																																																																											        <a href="/repos">Repositories</a>
																																																																																												  <a href="/search">Search</a>

																																																																																												  </div>
																																																																																												  <div class="mainmenu2">
																																																																																												    
																																																																																												      
																																																																																												          
																																																																																													        <a href="/use_uploadpy">Create Issue</a>
																																																																																														    
																																																																																														        |
																																																																																															    <a href="/mine">My Issues</a>
																																																																																															        |
																																																																																																    <a href="/starred">Starred</a>
																																																																																																        |
																																																																																																	    <a href="/all">Open</a>
																																																																																																	        |
																																																																																																		    <a href="/all?closed=1">All</a>
																																																																																																		      

																																																																																																		      </div>

																																																																																																		      <div>

																																																																																																		        <h2>
																																																																																																			    <span id="issue-star-4571045">
																																																																																																			      
																																																																																																			          
																																																																																																				        <a href="javascript:M_addIssueStar(4571045)">
																																																																																																						<img src="/static/star-dark.gif" width="15" height="15" border="0"></a>
																																																																																																						    
																																																																																																						      
																																																																																																						      </span>


																																																																																																						      <span class="issue-close" id="issue-close-4571045">
																																																																																																						          <a href="javascript:M_closeIssue(4571045)">
																																																																																																							        <img src="/static/close.gif" title="Close This Issue" width="15" height="15" border="0"></a>
																																																																																																								</span>

																																																																																																								    Issue <a href="/4571045/" onmouseover="M_showPopUp(this, 'popup-issue');">
																																																																																																								                4571045</a>:
																																																																																																										    New matrix benchmarks to evaluate ::setConcat implementation options 
																																																																																																										      </h2>

																																																																																																										        <table class="issue-details" border="0" width="100%">
																																																																																																											    <tbody><tr valign="top">

																																																																																																											          <td class="meta" width="20%">
																																																																																																												          
																																																																																																													            <div>
																																																																																																														                
																																																																																																																              <a class="novisit" href="/4571045/edit">
																																																																																																																	                      Edit Issue
																																																																																																																			                    </a>
																																																																																																																					                
																																																																																																																							            <br>
																																																																																																																								                
																																																																																																																										              <a class="novisit" href="/4571045/publish">
																																																																																																																											                      Publish+Mail Comments
																																																																																																																													                    </a> ('m')
																																																																																																																															                
																																																																																																																																	            
																																																																																																																																		                  <br>
																																																																																																																																				                <a class="novisit" href="/4571045/diff/1/bench/MatrixBench.cpp">
																																																																																																																																						                <b>Start Review</b>
																																																																																																																																								              </a>
																																																																																																																																									                  
																																																																																																																																											            </div>
																																																																																																																																												            
																																																																																																																																													            <div class="issue_details_sidebar">
																																																																																																																																														              <div><b>Created:</b><br>
																																																																																																																																															                  16 minutes ago by me
																																																																																																																																																	            </div>
																																																																																																																																																		              <div><b>Modified:</b><br>
																																																																																																																																																			                  0 minutes ago
																																																																																																																																																					            </div>
																																																																																																																																																						              <div><b>Reviewers:</b><br>
																																																																																																																																																							                  <a href="/user/reed1" onmouseover="M_showUserInfoPopup(this)">reed1</a>
																																																																																																																																																									            </div>
																																																																																																																																																										              <div><b>CC:</b><br>
																																																																																																																																																											                  
																																																																																																																																																													            </div>
																																																																																																																																																														              <div><b>Base URL:</b><br>
																																																																																																																																																															                  http://skia.googlecode.com/svn/trunk/
																																																																																																																																																																	            </div>
																																																																																																																																																																		              <div><b>Visibility:</b><br>
																																																																																																																																																																			                  
																																																																																																																																																																					                  Public.
																																																																																																																																																																							              
																																																																																																																																																																								                </div>
																																																																																																																																																																										        </div>
																																																																																																																																																																											      </td>

																																																																																																																																																																											            <td style="padding-left: .8em; padding-right: .8em;" width="80%">
																																																																																																																																																																												            




																																																																																																																																																																													      <h3><a id="issue-description-pointer" href="javascript:M_toggleSection('issue-description')" class="toggled-section opentriangle">
																																																																																																																																																																													          Description</a></h3>
																																																																																																																																																																														    <div id="issue-description" style="margin-left:15px;">
																																																																																																																																																																														        <pre>On platforms that use Float (instead of Fixed), SkMatrix stores its internal
																																																																																																																																																																															values as floats, but setConcat() needs extra precision and so uses doubles to
																																																																																																																																																																															contain intermediate values.
																																																																																																																																																																															These three benchmarks compare the speed of float-only, double-only, and
																																																																																																																																																																															float-cast-to-double implementations of a chunk of code extracted from the
																																																																																																																																																																															non-perspective case of setConcat().
																																																																																																																																																																															</pre>
																																																																																																																																																																															  </div>




																																																																																																																																																																															    <h3>
																																																																																																																																																																															        <a id="ps-1-pointer" href="javascript:M_toggleSectionForPS('4571045', '1')" class="toggled-section opentriangle">
																																																																																																																																																																																      Patch Set 1
																																																																																																																																																																																            
																																																																																																																																																																																	        </a>
																																																																																																																																																																																		  </h3>

																																																																																																																																																																																		    

																																																																																																																																																																																		      <div id="ps-1" style="">
																																																																																																																																																																																		          
																																																																																																																																																																																			  <div class="issue-list">

																																																																																																																																																																																			    <div class="pagination">
																																																																																																																																																																																			        <div style="float: left;">
																																																																																																																																																																																				      <i>Created:</i> 16 minutes ago
																																																																																																																																																																																				          </div>
																																																																																																																																																																																					      <div style="float: right;">
																																																																																																																																																																																					            
																																																																																																																																																																																						            <a href="/download/issue4571045_1.diff">
																																																																																																																																																																																							              Download raw patch set</a>
																																																																																																																																																																																								            
																																																																																																																																																																																									          
																																																																																																																																																																																										      </div>
																																																																																																																																																																																										          <div style="clear:both;"></div>
																																																																																																																																																																																											    </div>

																																																																																																																																																																																											      <table id="queues" style="clear:both;">
																																																																																																																																																																																											          <tbody><tr align="left">
																																																																																																																																																																																												        <th colspan="2"></th>
																																																																																																																																																																																													      <th>Unified diffs</th>
																																																																																																																																																																																													            <th>Side-by-side diffs</th>
																																																																																																																																																																																														          <th>Delta from patch set</th>
																																																																																																																																																																																															        <th colspan="3">Stats</th>
																																																																																																																																																																																																      <th>Patch</th>
																																																																																																																																																																																																          </tr>

																																																																																																																																																																																																	      
																																																																																																																																																																																																	            <tr name="patch">
																																																																																																																																																																																																		            <td class="first" width="14"><img src="/static/closedtriangle.gif" style="" width="12" height="9"></td>
																																																																																																																																																																																																			            <td style="white-space: nowrap">M    </td>
																																																																																																																																																																																																				            <td>
																																																																																																																																																																																																					              <a class="noul" href="/4571045/patch/1/2">
																																																																																																																																																																																																						                  bench/MatrixBench.cpp
																																																																																																																																																																																																								            </a>
																																																																																																																																																																																																									            </td>
																																																																																																																																																																																																										            <td>
																																																																																																																																																																																																											              <a class="noul" href="/4571045/diff/1/bench/MatrixBench.cpp">
																																																																																																																																																																																																												                  View
																																																																																																																																																																																																														            </a>
																																																																																																																																																																																																															            </td>
																																																																																																																																																																																																																            <td style="white-space: nowrap">
																																																																																																																																																																																																																	            
																																																																																																																																																																																																																		            </td>
																																																																																																																																																																																																																			            <td style="white-space: nowrap">4 chunks</td>
																																																																																																																																																																																																																				            <td style="white-space: nowrap">+114 lines, -3 lines</td>
																																																																																																																																																																																																																					            <td style="white-space: nowrap">
																																																																																																																																																																																																																						              
																																																																																																																																																																																																																							                  0 comments
																																																																																																																																																																																																																									              
																																																																																																																																																																																																																										                
																																																																																																																																																																																																																												        </td>
																																																																																																																																																																																																																													        <td>
																																																																																																																																																																																																																														          <a href="/download/issue4571045_1_2.diff" title="Download patch for bench/MatrixBench.cpp">
																																																																																																																																																																																																																															              Download
																																																																																																																																																																																																																																                </a>
																																																																																																																																																																																																																																		        </td>
																																																																																																																																																																																																																																			      </tr>
																																																																																																																																																																																																																																			          

																																																																																																																																																																																																																																				    </tbody></table>
																																																																																																																																																																																																																																				    </div>

																																																																																																																																																																																																																																				      
																																																																																																																																																																																																																																				        </div>




																																																																																																																																																																																																																																					  




																																																																																																																																																																																																																																					    <h3>
																																																																																																																																																																																																																																					        <a id="messages-pointer" href="javascript:M_toggleSection('messages')" class="toggled-section opentriangle">
																																																																																																																																																																																																																																						      Messages
																																																																																																																																																																																																																																						          </a>
																																																																																																																																																																																																																																							    </h3>

																																																																																																																																																																																																																																							      <div><i>Total messages: 3</i></div>

																																																																																																																																																																																																																																							        <div id="messages">
																																																																																																																																																																																																																																								    <div style="margin-bottom: .5em;">
																																																																																																																																																																																																																																								          <a href="javascript:M_showAllComments('cl', 3)">
																																																																																																																																																																																																																																									          Expand All Messages</a>
																																																																																																																																																																																																																																										        |
																																																																																																																																																																																																																																											      <a href="javascript:M_hideAllComments('cl', 3)">
																																																																																																																																																																																																																																											              Collapse All Messages</a>
																																																																																																																																																																																																																																												          </div>

																																																																																																																																																																																																																																													      
																																																																																																																																																																																																																																													            <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY6QcM" name="0">
																																																																																																																																																																																																																																														            <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY6QcM"></a>
																																																																																																																																																																																																																																															            <div class="header">
																																																																																																																																																																																																																																																              <table border="0" width="100%" cellspacing="0" cellpadding="0">
																																																																																																																																																																																																																																																	                  <tbody><tr class="comment_title" onclick="M_switchChangelistComment(0)">
																																																																																																																																																																																																																																																			                <td style="padding-left: 5px; white-space: nowrap;">
																																																																																																																																																																																																																																																					                <b>me</b>
																																																																																																																																																																																																																																																							              </td>
																																																																																																																																																																																																																																																								                    <td width="100%">
																																																																																																																																																																																																																																																										                    <table style="table-layout:fixed; white-space: nowrap;" width="100%">
																																																																																																																																																																																																																																																												                      <tbody><tr>
																																																																																																																																																																																																																																																														                          <td>
																																																																																																																																																																																																																																																																	                        <div style="white-space: nowrap; overflow: hidden;" class="extra" id="cl-preview-0">
																																																																																																																																																																																																																																																																				                          
																																																																																																																																																																																																																																																																							                         </div>
																																																																																																																																																																																																																																																																										                     </td>
																																																																																																																																																																																																																																																																												                       </tr>
																																																																																																																																																																																																																																																																														                       </tbody></table>
																																																																																																																																																																																																																																																																																                     </td>
																																																																																																																																																																																																																																																																																		                   <td align="right" style="white-space: nowrap; padding-right: 5px;">
																																																																																																																																																																																																																																																																																				                   13 minutes ago
																																																																																																																																																																																																																																																																																						                 </td>
																																																																																																																																																																																																																																																																																								             </tr>
																																																																																																																																																																																																																																																																																									               </tbody></table>
																																																																																																																																																																																																																																																																																										               </div>

																																																																																																																																																																																																																																																																																											               <div id="cl-comment-0" style="display: none;">
																																																																																																																																																																																																																																																																																												                 <div class="message-body">
																																																																																																																																																																																																																																																																																														             <pre name="cl-message-0"></pre>
																																																																																																																																																																																																																																																																																															               </div>
																																																																																																																																																																																																																																																																																																                 <div class="message-actions">
																																																																																																																																																																																																																																																																																																		             
																																																																																																																																																																																																																																																																																																			                   <a href="javascript:M_replyToMessage('0', '2011/06/03 18:57:35', 'TomH')" id="message-reply-href-0">Reply</a>
																																																																																																																																																																																																																																																																																																					                 <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
																																																																																																																																																																																																																																																																																																							               <div id="message-reply-0" style="display:none;"></div>
																																																																																																																																																																																																																																																																																																								                   
																																																																																																																																																																																																																																																																																																										             </div>
																																																																																																																																																																																																																																																																																																											             </div>

																																																																																																																																																																																																																																																																																																												           </div>
																																																																																																																																																																																																																																																																																																													       
																																																																																																																																																																																																																																																																																																													             <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY0Q8M" name="1">
																																																																																																																																																																																																																																																																																																														             <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UY0Q8M"></a>
																																																																																																																																																																																																																																																																																																															             <div class="header">
																																																																																																																																																																																																																																																																																																																               <table border="0" width="100%" cellspacing="0" cellpadding="0">
																																																																																																																																																																																																																																																																																																																	                   <tbody><tr class="comment_title" onclick="M_switchChangelistComment(1)">
																																																																																																																																																																																																																																																																																																																			                 <td style="padding-left: 5px; white-space: nowrap;">
																																																																																																																																																																																																																																																																																																																					                 <b>reed1</b>
																																																																																																																																																																																																																																																																																																																							               </td>
																																																																																																																																																																																																																																																																																																																								                     <td width="100%">
																																																																																																																																																																																																																																																																																																																										                     <table style="table-layout:fixed; white-space: nowrap;" width="100%">
																																																																																																																																																																																																																																																																																																																												                       <tbody><tr>
																																																																																																																																																																																																																																																																																																																														                           <td>
																																																																																																																																																																																																																																																																																																																																	                         <div style="white-space: nowrap; overflow: hidden;" class="extra" id="cl-preview-1">
																																																																																																																																																																																																																																																																																																																																				                           1. lets remove the "fix" from the function name. just muladdmul I think 2. we ...
																																																																																																																																																																																																																																																																																																																																							                          </div>
																																																																																																																																																																																																																																																																																																																																										                      </td>
																																																																																																																																																																																																																																																																																																																																												                        </tr>
																																																																																																																																																																																																																																																																																																																																															                </tbody></table>
																																																																																																																																																																																																																																																																																																																																																	              </td>
																																																																																																																																																																																																																																																																																																																																																		                    <td align="right" style="white-space: nowrap; padding-right: 5px;">
																																																																																																																																																																																																																																																																																																																																																				                    10 minutes ago
																																																																																																																																																																																																																																																																																																																																																						                  </td>
																																																																																																																																																																																																																																																																																																																																																								              </tr>
																																																																																																																																																																																																																																																																																																																																																									                </tbody></table>
																																																																																																																																																																																																																																																																																																																																																											        </div>

																																																																																																																																																																																																																																																																																																																																																												        <div id="cl-comment-1" style="display: none;">
																																																																																																																																																																																																																																																																																																																																																													          <div class="message-body">
																																																																																																																																																																																																																																																																																																																																																														              <pre name="cl-message-1">1. lets remove the "fix" from the function name. just muladdmul I think
																																																																																																																																																																																																																																																																																																																																																															      2. we can remove the return, since it will be compiled away anyway
																																																																																																																																																																																																																																																																																																																																																															      3. nice checkin comment!
																																																																																																																																																																																																																																																																																																																																																															      4. what are the results like?</pre>
																																																																																																																																																																																																																																																																																																																																																															                </div>
																																																																																																																																																																																																																																																																																																																																																																	          <div class="message-actions">
																																																																																																																																																																																																																																																																																																																																																																		              
																																																																																																																																																																																																																																																																																																																																																																			                    <a href="javascript:M_replyToMessage('1', '2011/06/03 19:00:39', 'reed1')" id="message-reply-href-1">Reply</a>
																																																																																																																																																																																																																																																																																																																																																																					                  <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
																																																																																																																																																																																																																																																																																																																																																																							                <div id="message-reply-1" style="display:none;"></div>
																																																																																																																																																																																																																																																																																																																																																																									            
																																																																																																																																																																																																																																																																																																																																																																										              </div>
																																																																																																																																																																																																																																																																																																																																																																											              </div>

																																																																																																																																																																																																																																																																																																																																																																												            </div>
																																																																																																																																																																																																																																																																																																																																																																													        
																																																																																																																																																																																																																																																																																																																																																																														      <div class="message " id="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UYuRcM" name="2">
																																																																																																																																																																																																																																																																																																																																																																														              <a name="msg-agpjb2RlcmV2aWV3chwLEgVJc3N1ZRil_5YCDAsSB01lc3NhZ2UYuRcM"></a>
																																																																																																																																																																																																																																																																																																																																																																															              <div class="header">
																																																																																																																																																																																																																																																																																																																																																																																                <table border="0" width="100%" cellspacing="0" cellpadding="0">
																																																																																																																																																																																																																																																																																																																																																																																		            <tbody><tr class="comment_title" onclick="M_switchChangelistComment(2)">
																																																																																																																																																																																																																																																																																																																																																																																			                  <td style="padding-left: 5px; white-space: nowrap;">
																																																																																																																																																																																																																																																																																																																																																																																					                  <b>me</b>
																																																																																																																																																																																																																																																																																																																																																																																							                </td>
																																																																																																																																																																																																																																																																																																																																																																																									              <td width="100%">
																																																																																																																																																																																																																																																																																																																																																																																										                      <table style="table-layout:fixed; white-space: nowrap;" width="100%">
																																																																																																																																																																																																																																																																																																																																																																																												                        <tbody><tr>
																																																																																																																																																																																																																																																																																																																																																																																															                    <td>
																																																																																																																																																																																																																																																																																																																																																																																																	                          <div style="white-space: nowrap; overflow: hidden; visibility: hidden;" class="extra" id="cl-preview-2">
																																																																																																																																																																																																																																																																																																																																																																																																				                            &gt; 4. what are the results like? For posterity: tomhudson@tomhudson-zx600-linux:/usr/local/google/src/skia3$ out/bench/bench -match matrix_concat -repeat 1000 ...
																																																																																																																																																																																																																																																																																																																																																																																																							                           </div>
																																																																																																																																																																																																																																																																																																																																																																																																										                       </td>
																																																																																																																																																																																																																																																																																																																																																																																																												                         </tr>
																																																																																																																																																																																																																																																																																																																																																																																																															                 </tbody></table>
																																																																																																																																																																																																																																																																																																																																																																																																																	               </td>
																																																																																																																																																																																																																																																																																																																																																																																																																		                     <td align="right" style="white-space: nowrap; padding-right: 5px;">
																																																																																																																																																																																																																																																																																																																																																																																																																				                     0 minutes ago
																																																																																																																																																																																																																																																																																																																																																																																																																						                   </td>
																																																																																																																																																																																																																																																																																																																																																																																																																								               </tr>
																																																																																																																																																																																																																																																																																																																																																																																																																									                 </tbody></table>
																																																																																																																																																																																																																																																																																																																																																																																																																											         </div>

																																																																																																																																																																																																																																																																																																																																																																																																																												         <div id="cl-comment-2">
																																																																																																																																																																																																																																																																																																																																																																																																																													           <div class="message-body">
																																																																																																																																																																																																																																																																																																																																																																																																																														               <pre name="cl-message-2">&gt; 4. what are the results like?

																																																																																																																																																																																																																																																																																																																																																																																																																															       For posterity:

																																																																																																																																																																																																																																																																																																																																																																																																																															       tomhudson@tomhudson-zx600-linux:/usr/local/google/src/skia3$ out/bench/bench
																																																																																																																																																																																																																																																																																																																																																																																																																															       -match matrix_concat -repeat 1000
																																																																																																																																																																																																																																																																																																																																																																																																																															       skia bench: alpha=0xFF antialias=1 filter=0
																																																																																																																																																																																																																																																																																																																																																																																																																															       running bench [640 480]         matrix_concat_double  8888: msecs =  0.79   565:
																																																																																																																																																																																																																																																																																																																																																																																																																															       msecs =  0.79   GPU: msecs =  0.79
																																																																																																																																																																																																																																																																																																																																																																																																																															       running bench [640 480]    matrix_concat_floatdouble  8888: msecs =  0.97   565:
																																																																																																																																																																																																																																																																																																																																																																																																																															       msecs =  0.97   GPU: msecs =  0.97
																																																																																																																																																																																																																																																																																																																																																																																																																															       running bench [640 480]          matrix_concat_float  8888: msecs =  0.74   565:
																																																																																																																																																																																																																																																																																																																																																																																																																															       msecs =  0.73   GPU: msecs =  0.74</pre>
																																																																																																																																																																																																																																																																																																																																																																																																																															                 </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																	           <div class="message-actions">
																																																																																																																																																																																																																																																																																																																																																																																																																																		               
																																																																																																																																																																																																																																																																																																																																																																																																																																			                     <a href="javascript:M_replyToMessage('2', '2011/06/03 19:11:06', 'TomH')" id="message-reply-href-2">Reply</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																					                   <textarea rows="7" cols="70" name="message" style="display:none"></textarea>
																																																																																																																																																																																																																																																																																																																																																																																																																																							                 <div id="message-reply-2" style="display:none;"></div>
																																																																																																																																																																																																																																																																																																																																																																																																																																									             
																																																																																																																																																																																																																																																																																																																																																																																																																																										               </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																											               </div>

																																																																																																																																																																																																																																																																																																																																																																																																																																												             </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																													         

																																																																																																																																																																																																																																																																																																																																																																																																																																														     <div>
																																																																																																																																																																																																																																																																																																																																																																																																																																														           <a href="javascript:M_showAllComments('cl', 3)">
																																																																																																																																																																																																																																																																																																																																																																																																																																															         Expand All Messages</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																       |
																																																																																																																																																																																																																																																																																																																																																																																																																																																             <a href="javascript:M_hideAllComments('cl', 3)">
																																																																																																																																																																																																																																																																																																																																																																																																																																																	             Collapse All Messages</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																		         </div>

																																																																																																																																																																																																																																																																																																																																																																																																																																																			   </div>



																																																																																																																																																																																																																																																																																																																																																																																																																																																			   <script language="JavaScript" type="text/javascript">
																																																																																																																																																																																																																																																																																																																																																																																																																																																			     <!--
																																																																																																																																																																																																																																																																																																																																																																																																																																																			         document.onkeydown = M_changelistKeyDown;
																																																																																																																																																																																																																																																																																																																																																																																																																																																				     var dashboardState = new M_DashboardState(window, 'patch', 'M_CLPatchMarker');
																																																																																																																																																																																																																																																																																																																																																																																																																																																				         M_switchChangelistCommentByAnchor();
																																																																																																																																																																																																																																																																																																																																																																																																																																																					   // -->
																																																																																																																																																																																																																																																																																																																																																																																																																																																					   </script>



																																																																																																																																																																																																																																																																																																																																																																																																																																																					     <div style="display:none;">
																																																																																																																																																																																																																																																																																																																																																																																																																																																					         <form method="POST" action="/4571045/publish" id="message-reply-form">
																																																																																																																																																																																																																																																																																																																																																																																																																																																						       <input type="hidden" name="xsrf_token" value="dd5d1a57ca1d5440593050fdc596d377">
																																																																																																																																																																																																																																																																																																																																																																																																																																																						             <div></div>
																																																																																																																																																																																																																																																																																																																																																																																																																																																							           <input type="hidden" name="subject" value="New matrix benchmarks to evaluate ::setConcat implementation options">
																																																																																																																																																																																																																																																																																																																																																																																																																																																								         <input type="hidden" name="message_only" value="1">
																																																																																																																																																																																																																																																																																																																																																																																																																																																									       <input type="submit" value="Send Message">
																																																																																																																																																																																																																																																																																																																																																																																																																																																									             <input type="button" value="Discard" name="discard">
																																																																																																																																																																																																																																																																																																																																																																																																																																																										           <input type="checkbox" name="send_mail" value="1" id="message-reply-send-mail" checked="checked">
																																																																																																																																																																																																																																																																																																																																																																																																																																																											         <label>Send mail to reviewers</label>
																																																																																																																																																																																																																																																																																																																																																																																																																																																												     </form>
																																																																																																																																																																																																																																																																																																																																																																																																																																																												       </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																																												         <a id="resizer" class="resizer" style="display:none;cursor:pointer">
																																																																																																																																																																																																																																																																																																																																																																																																																																																													     <img src="/static/zippyplus.gif">
																																																																																																																																																																																																																																																																																																																																																																																																																																																													       </a>



																																																																																																																																																																																																																																																																																																																																																																																																																																																													             </td>
																																																																																																																																																																																																																																																																																																																																																																																																																																																														         </tr>
																																																																																																																																																																																																																																																																																																																																																																																																																																																															   </tbody></table>

																																																																																																																																																																																																																																																																																																																																																																																																																																																															   </div>

																																																																																																																																																																																																																																																																																																																																																																																																																																																															     
																																																																																																																																																																																																																																																																																																																																																																																																																																																															         <div class="popup" id="popup-issue" style="left: 104px; top: 116px; visibility: hidden; ">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																       <b>Issue 4571045: New matrix benchmarks to evaluate ::setConcat implementation options
																																																																																																																																																																																																																																																																																																																																																																																																																																																																       	</b><br>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																	      Created 16 minutes ago by me<br>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																	            Modified 0 minutes ago<br>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																		          Reviewers: reed1<br>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																			        Base URL: http://skia.googlecode.com/svn/trunk/<br>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																				      Comments: 0
																																																																																																																																																																																																																																																																																																																																																																																																																																																																				            
																																																																																																																																																																																																																																																																																																																																																																																																																																																																					        </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						  


																																																																																																																																																																																																																																																																																																																																																																																																																																																																						  <p></p>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						  <div style="float: left;">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						    <a target="_blank" href="http://code.google.com/appengine/"><img border="0" src="/static/appengine-noborder-120x30.gif" alt="Powered by Google App Engine"></a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						    </div>

																																																																																																																																																																																																																																																																																																																																																																																																																																																																						    <div class="extra" style="font-size: 9pt; float: right; text-align: right;">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						      <div style="height:14px;">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																						        <img src="/static/rss.gif" alt="RSS Feeds" width="14" height="14" align="top">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																							  <a href="/rss/all">Recent Issues</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																							    
																																																																																																																																																																																																																																																																																																																																																																																																																																																																							      |
																																																																																																																																																																																																																																																																																																																																																																																																																																																																							        <a href="/rss/mine/TomH">My Issues</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																								  |
																																																																																																																																																																																																																																																																																																																																																																																																																																																																								    <a href="/rss/reviews/TomH">My Reviews</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																								      |
																																																																																																																																																																																																																																																																																																																																																																																																																																																																								        <a href="/rss/closed/TomH">My Closed</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																									  
																																																																																																																																																																																																																																																																																																																																																																																																																																																																									    
																																																																																																																																																																																																																																																																																																																																																																																																																																																																									      |
																																																																																																																																																																																																																																																																																																																																																																																																																																																																									        <a href="/rss/issue/4571045">This issue</a>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										   
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										     </div>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       <div style="margin-top: .3em;">This is Rietveld <a href="http://code.google.com/p/rietveld/updates/list">r756
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       </a></div>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       </div>


																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       <script type="text/javascript">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       </script><script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       <script type="text/javascript">
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       var pageTracker = _gat._getTracker("UA-4803694-4");
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       pageTracker._initData();
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       pageTracker._trackPageview();
																																																																																																																																																																																																																																																																																																																																																																																																																																																																										       </script>
On platforms that use Float (instead of Fixed), SkMatrix stores its internal
values as floats, but setConcat() needs extra precision and so uses doubles
to contain intermediate values.
These three benchmarks compare the speed of float-only, double-only, and
float-cast-to-double implementations of a chunk of code extracted from the
non-perspective case of setConcat().




git-svn-id: http://skia.googlecode.com/svn/trunk@1497 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-03 19:16:56 +00:00
reed@google.com
3fb5187647 speed-up SkMatrix::preScale by 3x, by special-casing it instead of just calling
concat. Inspired by the profile of the fishtank site



git-svn-id: http://skia.googlecode.com/svn/trunk@1462 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-01 15:11:22 +00:00