skia2/bench
Mike Reed 194cab0fd3 use slope-guess for faster charToGlyph
Made up a threshold between linear and slope searching.
For a count of 100 here are the before and after timings.
The first two lines are being changed. The latter 2 are
the native look-ups for mac.

Before

  15/15  MB	115	2.33µs	2.34µs	2.34µs	2.34µs	0%	▆▁▄█▇▇▂▄█▆	nonrendering	cmap_findcache_charToGlyph
  15/15  MB	66	3.47µs	3.48µs	3.49µs	3.55µs	1%	█▁▁▁▂▁▁▁▁▄	nonrendering	cmap_addcache_charToGlyph
  15/15  MB	1	1.1µs	1.13µs	1.21µs	1.98µs	22%	█▂▁▁▁▁▁▁▁▂	nonrendering	cmap_face_charToGlyph
  15/15  MB	190	1.09µs	1.1µs	1.19µs	1.64µs	17%	▁▁▁▆█▁▁▁▁▁	nonrendering	cmap_font_charToGlyph

After

  15/15  MB	447	448ns	449ns	448ns	449ns	0%	▂▅█▅▁▆█▂▁▆	nonrendering	cmap_findcache_charToGlyph
  15/15  MB	95	2.79µs	3.03µs	3µs	3.06µs	3%	▇▇▇▇▇███▄▁	nonrendering	cmap_addcache_charToGlyph
  15/15  MB	1	1.15µs	1.16µs	1.25µs	1.99µs	21%	█▂▁▁▁▁▁▁▁▁	nonrendering	cmap_face_charToGlyph
  15/15  MB	186	1.09µs	1.1µs	1.12µs	1.27µs	5%	█▁▁▁▂▁▁▁▁▁	nonrendering	cmap_font_charToGlyph


Bug: skia:
Change-Id: If7da4eef3cce248393815071f342607f0c8140bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208044
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-15 19:35:59 +00:00
..
AAClipBench.cpp change SkClipOp to a class enum 2016-12-12 15:38:31 +00:00
AlternatingColorPatternBench.cpp add makeShader() to SkBitmap, and deprecate SkShader version 2019-04-08 17:56:34 +00:00
AndroidCodecBench.cpp remove Sk prefix from CommandLineFlags 2019-03-20 17:13:22 +00:00
AndroidCodecBench.h SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h 2017-01-11 18:55:34 +00:00
BenchLogger.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
BenchLogger.h Remove Sk prefix from some bench classes. 2014-06-19 12:32:29 -07:00
Benchmark.cpp Remove dead code from Benchmark 2018-08-09 13:07:28 +00:00
Benchmark.h Remove dead code from Benchmark 2018-08-09 13:07:28 +00:00
BezierBench.cpp chmod -x *.cpp *.h 2016-10-27 16:41:14 +00:00
BigPathBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
BitmapBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
BitmapRectBench.cpp Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
BitmapRegionDecoderBench.cpp Remove calls to computeOutputColor- Type and Space 2018-03-13 15:42:52 +00:00
BitmapRegionDecoderBench.h Remove SkAutoTDelete. 2016-11-03 19:03:40 +00:00
BlendmodeBench.cpp start to build with no paint-text fields 2019-01-04 04:54:34 +00:00
BlurBench.cpp Remove occluded rrect blur benchmark 2018-08-20 19:01:00 +00:00
BlurImageFilterBench.cpp IWYU -- SkShader.h 2018-01-23 18:08:30 +00:00
BlurRectBench.cpp hide SkBlurMaskFilter and SkBlurQuality 2018-03-14 17:27:36 +00:00
BlurRectsBench.cpp hide SkBlurMaskFilter and SkBlurQuality 2018-03-14 17:27:36 +00:00
BlurRoundRectBench.cpp Introduce new factory for SkColorFilters 2019-04-08 21:03:59 +00:00
ChartBench.cpp Fix benches that aren't really timing what we want 2017-12-18 15:56:02 +00:00
check_bench_regressions.py Adds dashboard link for one-line plot on each alert item. 2014-05-13 17:38:17 +00:00
ChecksumBench.cpp SkMD5 returns digest 2019-04-03 17:52:22 +00:00
ChromeBench.cpp change clip-bounds getters to always return the rect 2017-01-23 17:14:53 +00:00
ClearBench.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
ClipMaskBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
ClipStrategyBench.cpp Add a bench for comparing complex clip strategies 2017-12-24 17:12:42 +00:00
CmapBench.cpp use slope-guess for faster charToGlyph 2019-04-15 19:35:59 +00:00
CodecBench.cpp moar static flags 2019-03-21 17:07:13 +00:00
CodecBench.h SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h 2017-01-11 18:55:34 +00:00
CodecBenchPriv.h remove references to kIndex_8_SkColorType from our tools/tests 2017-07-12 20:25:44 +00:00
ColorFilterBench.cpp remove SkMixer, since we have explicit lerps/blends in SkShader 2019-04-10 20:59:30 +00:00
ColorPrivBench.cpp make most of SkColorPriv.h private 2017-09-15 16:31:35 +00:00
CompositingImagesBench.cpp Update drawimage composite benchmark to force aa 2018-11-20 17:41:34 +00:00
ControlBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
CoverageBench.cpp Attempt 3: SkRasterPipelineBlitter: support A8 2017-01-13 13:25:28 +00:00
CubicKLMBench.cpp Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
CubicMapBench.cpp add bench for cubicmap 2018-08-15 20:51:57 +00:00
DashBench.cpp Remove SkScalarSinCos 2019-04-02 15:46:57 +00:00
DisplacementBench.cpp bench: Fix a couple presumed copy/paste errors 2019-02-09 12:34:17 +00:00
DrawBitmapAABench.cpp Revert "Revert "Reland: Remove SkLights include from SkCanvas.h"" 2017-05-03 19:17:11 +00:00
DrawLatticeBench.cpp Implement a fast path for solid color lattice rectangle 2017-12-11 18:26:18 +00:00
EncodeBench.cpp Add comment about how to run Decoder benchmarks 2018-11-08 18:12:51 +00:00
FontCacheBench.cpp start to use font for measure, not paint 2018-12-02 21:31:36 +00:00
FSRectBench.cpp stop using SkScalarMul 2017-02-14 19:45:24 +00:00
GameBench.cpp add makeShader() to SkBitmap, and deprecate SkShader version 2019-04-08 17:56:34 +00:00
GeometryBench.cpp add bench for computing convexity 2018-11-28 17:14:17 +00:00
GMBench.cpp Fix benches that aren't really timing what we want 2017-12-18 15:56:02 +00:00
GMBench.h Add benchmark for comparing multitexturing to non-multitexturing image draws. 2017-10-11 20:32:49 +00:00
GradientBench.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
GrCCFillGeometryBench.cpp ccpr: Rename GrCCPathParser to GrCCFiller 2018-08-20 20:25:24 +00:00
GrMemoryPoolBench.cpp test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
GrMipMapBench.cpp Reland "Reland "Require mips to be allocated at texture creation time and disable late allocations."" 2018-06-08 23:01:44 +00:00
GrResourceCacheBench.cpp Rename GrContext::contextPriv to priv 2019-02-04 22:13:14 +00:00
gUniqueGlyphIDs.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
HairlinePathBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
HardStopGradientBench_ScaleNumColors.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
HardStopGradientBench_ScaleNumHardStops.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
HardStopGradientBench_SpecialHardStops.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
ImageBench.cpp Fix native_image_to_raster_surface crash in ANGLE msaa configs 2017-06-08 15:37:40 +00:00
ImageCacheBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
ImageCacheBudgetBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
ImageCycleBench.cpp Reland "Move GrGeometryProcessor's textures out of classes and into" 2018-08-07 14:02:49 +00:00
ImageFilterCollapse.cpp Introduce new factory for SkColorFilters 2019-04-08 21:03:59 +00:00
ImageFilterDAGBench.cpp resources: orgainize directory. 2017-12-08 17:16:00 +00:00
InterpBench.cpp make most of SkColorPriv.h private 2017-09-15 16:31:35 +00:00
JSONBench.cpp Fold SkJSON into Skia/utils 2018-06-19 18:23:30 +00:00
LightingBench.cpp stop using SkScalarMul 2017-02-14 19:45:24 +00:00
LineBench.cpp Revert of Modify LineBench for drawing straight line (patchset #3 id:40001 of https://codereview.chromium.org/1936153002/ ) 2016-05-05 14:02:36 -07:00
MagnifierBench.cpp bench: Fix a couple presumed copy/paste errors 2019-02-09 12:34:17 +00:00
MathBench.cpp remove SkTCast 2018-06-18 17:22:18 +00:00
Matrix44Bench.cpp re-precate SkMatrix44::SkMatrix44() 2018-10-04 14:01:11 +00:00
MatrixBench.cpp Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id:20001 of https://codereview.chromium.org/2138943002/ ) 2016-08-10 07:13:21 -07:00
MatrixConvolutionBench.cpp distinguish distinct matrixconvolution benchmarks 2016-04-12 15:52:52 -07:00
MemsetBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
MergeBench.cpp use drawSimpleText 2019-01-03 18:27:23 +00:00
microbench.json Fix the other microbench schema 2014-07-25 08:30:11 -07:00
MipMapBench.cpp Reland "Stop conflating F16 with linear gamma" 2018-08-28 14:23:27 +00:00
MorphologyBench.cpp Update SkMorphology ImageFilters to sk_sp 2016-04-05 09:09:37 -07:00
MutexBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
nanobench.cpp try purging between benches 2019-03-28 15:38:23 +00:00
nanobench.h Switch nanobench to SkJSONWriter 2019-01-28 19:54:26 +00:00
PatchBench.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
PathBench.cpp add bench to time relative gain for convexity 2018-12-07 19:02:50 +00:00
PathIterBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
PathOpsBench.cpp add pathops bench for simplify 2018-11-05 13:15:21 +00:00
PathTextBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
PDFBench.cpp SkPDF: Add regression benchmark for multiple path clips 2019-04-05 18:37:33 +00:00
PerlinNoiseBench.cpp Hide SkPerlinNoiseShader impl details 2017-05-18 17:24:39 +00:00
PictureNestingBench.cpp return pictures as sk_sp 2016-03-18 07:25:55 -07:00
PictureOverheadBench.cpp bench clip overhead during recording 2017-03-06 21:45:02 +00:00
PicturePlaybackBench.cpp start to use font for measure, not paint 2018-12-02 21:31:36 +00:00
PolyUtilsBench.cpp Remove SkScalarSinCos 2019-04-02 15:46:57 +00:00
PremulAndUnpremulAlphaOpsBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
QuickRejectBench.cpp Optimized implementation of quickReject() 2016-08-12 08:29:08 -07:00
ReadPixBench.cpp update/add benches to look at colorspace as well as alphatype 2019-03-22 12:16:40 +00:00
RecordingBench.cpp move skpipe to experimental 2018-09-21 17:20:25 +00:00
RecordingBench.h move skpipe to experimental 2018-09-21 17:20:25 +00:00
RectanizerBench.cpp Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
RectBench.cpp add makeShader() to SkBitmap, and deprecate SkShader version 2019-04-08 17:56:34 +00:00
RectoriBench.cpp Revert "Hide setDrawLooper -- deprecate loopers" 2019-02-07 19:00:36 +00:00
RefCntBench.cpp remove sk_atomic_inc 2018-12-04 19:01:47 +00:00
RegionBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
RegionContainBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
RepeatTileBench.cpp add makeShader() to SkBitmap, and deprecate SkShader version 2019-04-08 17:56:34 +00:00
ResultsWriter.h Switch nanobench to SkJSONWriter 2019-01-28 19:54:26 +00:00
RotatedRectBench.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
RTreeBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
ScalarBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
ShaderMaskFilterBench.cpp Use SkTileMode instead of nested enum 2019-04-03 15:24:18 +00:00
ShadowBench.cpp Remove dead code from Benchmark 2018-08-09 13:07:28 +00:00
ShapesBench.cpp DEFINE_int32 + DEFINE_uint32 -> DEFINE_int 2019-03-21 17:20:19 +00:00
Sk4fBench.cpp Sk4f: add floor() 2016-02-09 15:41:36 -08:00
SkGlyphCacheBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
SKPAnimationBench.cpp remove Sk prefix from CommandLineFlags 2019-03-20 17:13:22 +00:00
SKPAnimationBench.h Replace SkFAIL with SK_ABORT. 2017-08-16 15:37:54 +00:00
SKPBench.cpp Stop flooding perf with uninteresting GPU stats 2019-03-25 18:04:44 +00:00
SKPBench.h Don't use MEM_MOVE=true with SkTArrays of sk_sp 2018-09-05 20:11:07 +00:00
skpbench.json Fix scale type in JSON format 2014-06-26 15:39:31 -07:00
SortBench.cpp test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
StreamBench.cpp speedup dynamicwstream 2016-12-15 19:49:31 +00:00
StrokeBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
SwizzleBench.cpp Reland "have SkConvertPixels use SkColorSpaceXformSteps" 2018-09-21 16:18:06 +00:00
TableBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
TextBlobBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
TileBench.cpp add makeShader() to SkBitmap, and deprecate SkShader version 2019-04-08 17:56:34 +00:00
TileImageFilterBench.cpp Update TileImageFilter to sk_sp 2016-04-15 07:57:40 -07:00
TopoSortBench.cpp sk_tool_utils -> ToolUtils, and git clang-format 2019-03-20 18:05:42 +00:00
TypefaceBench.cpp Benchmark for charToGlyph 2019-02-04 18:03:52 +00:00
VertBench.cpp add bench for drawAtlas 2019-03-22 20:41:49 +00:00
VertexColorSpaceBench.cpp Add shader based blending of kPlus for configs that need clamping 2019-03-15 14:54:17 +00:00
WritePixelsBench.cpp update/add benches to look at colorspace as well as alphatype 2019-03-22 12:16:40 +00:00
WriterBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00