Commit Graph

67 Commits

Author SHA1 Message Date
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
Garret Rieger f48647e589 In perf/README update meson command line to set release build type. 2022-04-21 11:16:12 -06:00
Garret Rieger b3ce96da3b [perf] Add several more fonts to the subset benchmarks. 2022-04-21 11:16:12 -06:00
Behdad Esfahbod 9ad300360d [perf/perf-draw] Port to new draw API 2022-04-21 11:16:12 -06:00
Behdad Esfahbod 23c7c305bb [perf/benchmark-map] Adjust range specifiers 2022-04-21 11:16:12 -06:00
Garret Rieger 2b03bcedef [perf] Cleanup range specifiers in set benchmark. 2022-04-21 11:16:12 -06:00
Garret Rieger 178c67003f [perf] Rework set insert test to not use pause/resume timing.
These have high overhead which affect the result. Also change set iteration to time the individual iteration operation.
2022-04-21 11:16:12 -06:00
Garret Rieger fbd183d0eb [perf] Start writing subset benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger fc2027bf07 [perf] Add map benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger 057ec2c953 [perf] Add set ieration and lookup benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger 40975fc3c2 [perf] Add some instructions for building/running benchmarks. 2022-04-21 11:16:12 -06:00
Garret Rieger cef64b947d [perf] Add the start of a benchmark for set operations. 2022-04-21 11:16:12 -06:00
Behdad Esfahbod e0ac6c587b Remove remaining traces of HB_EXPERIMENTAL_API 2022-02-13 13:21:14 -06:00
Khaled Hosny 69d8f27c69 [meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
2021-11-22 03:11:36 +02:00