Commit Graph

80 Commits

Author SHA1 Message Date
Behdad Esfahbod 0fe1869228 [benchmark-set] Pause timing around set copy initialization 2022-05-26 05:02:23 -06:00
Behdad Esfahbod ce5435a862 [benchmark-set] Remove use of rand() inside benchmark 2022-05-26 05:02:13 -06:00
Behdad Esfahbod 8a7cfe1787 [perf/benchmark-shape] Test ft font backend as well 2022-05-23 14:36:06 -06:00
Behdad Esfahbod e1f4445dff [benchmark-shape] Allow taking multiple tests from cmdline 2022-05-21 15:11:53 -06:00
Behdad Esfahbod 1bf2d5f885 [perf/benchmark-shape] Allow taking text-file/font-file args from cmdline 2022-05-21 14:44:00 -06:00
Behdad Esfahbod 852a8f04eb [perf/benchmark-font] Allow benchmarking fonts specified on cmdline 2022-05-21 14:43:49 -06:00
Behdad Esfahbod da4b6f1527 [benchmark-shape] Add variable fonts 2022-05-20 17:21:20 -06:00
Behdad Esfahbod 0623aa598b [benchmark-set] Add benchmark for set copy 2022-05-19 15:43:15 -06:00
Behdad Esfahbod 3e4ab2ad9c [perf/benchmark-ot] Add zh-hans 2022-05-18 11:16:46 -06:00
Behdad Esfahbod 6e668a2ade [perf/benchmark-ot] Rename test 2022-05-18 11:16:11 -06:00
Behdad Esfahbod f5d619be79 [ot-tags] Further gate the slow complex case, and add more tests
Part of https://github.com/harfbuzz/harfbuzz/issues/3591

Still 'zh-trad' is the slowest case.

--------------------------------------------------------------------------------------------------
Benchmark                                                        Time             CPU   Iterations
--------------------------------------------------------------------------------------------------
BM_hb_ot_tags_from_script_and_language/COMMON zh_trad          136 ns          136 ns      5107838
BM_hb_ot_tags_from_script_and_language/COMMON ab_abcd          115 ns          115 ns      6103104
BM_hb_ot_tags_from_script_and_language/COMMON ab_abc          25.4 ns         25.3 ns     27674482
BM_hb_ot_tags_from_script_and_language/COMMON abcdef_XY       20.2 ns         20.1 ns     34795719
BM_hb_ot_tags_from_script_and_language/COMMON abcd_XY         19.4 ns         19.3 ns     36390401
BM_hb_ot_tags_from_script_and_language/COMMON cxy_CN          33.5 ns         33.4 ns     20998939
BM_hb_ot_tags_from_script_and_language/COMMON exy_CN          25.1 ns         25.0 ns     27705832
BM_hb_ot_tags_from_script_and_language/COMMON zh_CN           34.2 ns         34.1 ns     20564356
BM_hb_ot_tags_from_script_and_language/COMMON en_US           15.5 ns         15.5 ns     45032204
BM_hb_ot_tags_from_script_and_language/LATIN en_US            15.9 ns         15.8 ns     44412379
BM_hb_ot_tags_from_script_and_language/COMMON none            4.72 ns         4.71 ns    149101665
BM_hb_ot_tags_from_script_and_language/LATIN none             4.72 ns         4.70 ns    149254498
2022-05-18 11:04:52 -06:00
Behdad Esfahbod b231fc2dbc [perf/benchmark-ot] Add a couple more test cases 2022-05-17 17:03:37 -06:00
Behdad Esfahbod 3524b14fa0 [perf/benchmark-ot] Add a couple more test cases 2022-05-17 17:02:48 -06:00
Behdad Esfahbod 0ff5d36cd4 [perf/benchmark-ot] Fix benchmark
Part of https://github.com/harfbuzz/harfbuzz/issues/3591

Ouch!

These are the current numbers:

------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations
------------------------------------------------------------------------------------------------
BM_hb_ot_tags_from_script_and_language/COMMON abcd_XY       78.0 ns         77.7 ns      8917912
BM_hb_ot_tags_from_script_and_language/COMMON zh_CN         44.9 ns         44.8 ns     15475318
BM_hb_ot_tags_from_script_and_language/COMMON en_US         17.6 ns         17.5 ns     39812340
BM_hb_ot_tags_from_script_and_language/LATIN en_US          18.2 ns         18.1 ns     38356204
BM_hb_ot_tags_from_script_and_language/COMMON none          4.76 ns         4.74 ns    148746131
BM_hb_ot_tags_from_script_and_language/LATIN none           4.73 ns         4.71 ns    148421349
2022-05-17 16:38:19 -06:00
Behdad Esfahbod 407a135baf [perf/benchmark-ot] Add one more test 2022-05-17 14:45:45 -06:00
Behdad Esfahbod 26d906b88b [perf] Add benchmark-ot 2022-05-17 13:12:17 -06:00
Behdad Esfahbod 629fa8ee87 [perf/benchmark-font] Test Roboto as variable even though it's not 2022-05-16 17:49:36 -06:00
Behdad Esfahbod 71a0cda869 [perf/benchmark-font] Only certain fonts are variable
Don't test every font as variable.
2022-05-16 17:49:36 -06:00
Garret Rieger e4e053c8b3 [perf] fix typo in perf Makefile. 2022-05-13 11:25:09 -06:00
Behdad Esfahbod 7edd54f3dd [perf/benchmark-subset] Minor cleanup 2022-05-11 12:14:49 -06:00
Garret Rieger 52d59bf150 [perf] Make subset benchmark data driven. 2022-05-10 14:30:08 -06:00
Garret Rieger 5277a5772b [perf] Add benchmarks for CFF subsetting. 2022-05-10 12:16:44 -06:00
Garret Rieger bc5129d7fa [perf] use option_t in subset benchmark to select between glyphs and codepoint subset. 2022-05-05 10:01:49 -06:00
Garret Rieger 6212856ce8 [perf] benchmark subsetting via glyphs. 2022-05-04 16:50:06 -06:00
Behdad Esfahbod f67e6bf79c [perf/benchmark-font] Add benchmark for glyph_h_advance 2022-05-02 16:59:48 -06:00
Behdad Esfahbod 1c0a3d4d16 [perf/benchmark-font] Add a couple Noto fonts 2022-05-02 16:50:54 -06:00
Behdad Esfahbod 3fff2e9182 [perf/benchmark-font] Cosmetic 2022-05-02 16:42:10 -06:00
Behdad Esfahbod 0d1f8dcaf3 [perf/benchmark-font] Actually make nominal_glyph bench work 2022-05-02 16:18:53 -06:00
Behdad Esfahbod 6cf69d10e7 [perf/benchmark-font] Add back testing of is_variable 2022-05-02 16:07:32 -06:00
Behdad Esfahbod 3aa2ff7988 [perf/benchmark-font] Fix build without freetype 2022-05-02 16:01:22 -06:00
Behdad Esfahbod 58a0988b57 [perf/benchmark-font] Benchmark get_nominal_glyph 2022-05-02 15:57:19 -06:00
Behdad Esfahbod 6d29903e86 [perf/benchmark-font] Parametrize test 2022-05-02 14:03:15 -06:00
Behdad Esfahbod 636c90e81c [perf/perf] Rename to benchmark-font 2022-05-02 13:41:49 -06:00
Behdad Esfahbod 036d03d2e9 [perf/perf] Move all logic to perf-draw, for now
To be renamed.
2022-05-02 13:40:13 -06:00
Behdad Esfahbod 746c3c03c5 [perf/perf] Remove ttf-parser backend 2022-05-02 13:27:32 -06:00
Behdad Esfahbod 4aaa0af7d9 [perf/perf] Rely on hb-draw to measure ft performance 2022-05-02 13:06:27 -06:00
Behdad Esfahbod 217d38dfc7 Try to fix distcheck 2022-04-29 16:19:10 -06:00
Behdad Esfahbod 35681b3edb [benchmark-shape] Break lines and shape separately 2022-04-29 16:02:55 -06:00
Behdad Esfahbod be1ac9c572 [benchmark-shape] Data-driven test sets 2022-04-29 15:55:19 -06:00
Behdad Esfahbod ae3efc6424 [perf] Spawn off benchmark-shape from perf runner 2022-04-29 15:37:11 -06:00
Behdad Esfahbod 5f43ce825a [benchmark-set] Split SetLookup into an ordered and random version 2022-04-29 13:39:15 -06:00
Behdad Esfahbod ae9c7b861b [benchmark-set] At least increase needle by one in lookup benchmark 2022-04-29 13:39:04 -06:00
Behdad Esfahbod 68a9b83d15 [benchmark-set] At least increase needle by one in lookup benchmark 2022-04-29 13:28:07 -06:00
Behdad Esfahbod 5866ec05f5 [benchmark-map] Remove rand() overhead from benchmark 2022-04-29 13:14:41 -06:00
Behdad Esfahbod dd005911b9 [benchmark-set] Reduce lookup benchmark overhead
Turnsout 90% was overhead...  Now lookup is in the 4ns ballpark.
2022-04-29 12:23:53 -06:00
Behdad Esfahbod 4c177de1f5 [perf] Err. Remove HUGE font from perf suite 2022-04-21 13:51:37 -06:00
Behdad Esfahbod 7f7ebdc6bb [perf] Reuse a font 2022-04-21 11:25:12 -06:00
Garret Rieger 85142f3247 [perf] Add missing ninja command in profiling instructions. 2022-04-21 11:16:12 -06:00
Garret Rieger a5cf917892 [perf] Update readme with profiling instructions. 2022-04-21 11:16:12 -06:00
Behdad Esfahbod df3ecea773 [perf/perf] Fix run when ttfparser is not available 2022-04-21 11:16:12 -06:00