Commit Graph

106 Commits

Author SHA1 Message Date
Behdad Esfahbod 3c972867b9 More s/hb_font_get_glyph_shape/hb_font_draw_glyph/ 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 7f73b57bc1 [subset] Graduate L1 instancing API from experimental
Fixes https://github.com/harfbuzz/harfbuzz/issues/3926
2022-12-10 17:35:52 -07:00
Garret Rieger eda02c2ebd [subset] Move hb_subset_preprocess to be non-experimental. 2022-12-08 16:32:24 -07:00
Behdad Esfahbod 29903f46b9 [benchmark-subset] Cache (preprocessed) face amongst runs 2022-12-02 18:02:55 -07:00
Behdad Esfahbod 20a0a46729 [perf] Remove stale run.sh 2022-11-30 15:59:54 -07:00
Behdad Esfahbod 38e7bc345c [benchmark-subset] Support testing arbitrary fonts from cmdline 2022-11-30 15:02:42 -07:00
Behdad Esfahbod fad8322b3f [benchmark-subset] Add no-hinting ops 2022-11-27 15:09:48 -07:00
Behdad Esfahbod 1e6f77c250 [benchmark-subset] Adjust num glyphs more 2022-11-26 15:31:56 -07:00
Behdad Esfahbod 0382defa51 [benchmark-subset] Adjust number of glyphs of fonts 2022-11-26 15:27:07 -07:00
Behdad Esfahbod 4cb441dfd1 [benchmark-subset] Add AdobeVFPrototype 2022-11-26 15:23:07 -07:00
Behdad Esfahbod b6df347137 [perf] Add Hindi test to benchmark-shape 2022-11-23 20:15:16 -07:00
Behdad Esfahbod 443961971a [perf] Add fa-words.txt and use in shape benchmark 2022-11-16 16:35:00 -07:00
Garret Rieger d1bf6c0c26 [subset] only preprocess in benchmark when experimental api is enabled. 2022-10-17 20:14:02 +00:00
Garret Rieger 515863e57c [subset] Remove add accelerator flag, replace with new api method.
Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
2022-10-13 23:42:00 +00:00
Garret Rieger 3394ec7048 [subset] use subset accelerator in tests.
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00
Garret Rieger f4903defc4 [subset] use the accelerator in the subsetting benchmark. 2022-10-13 21:38:54 +00:00
Behdad Esfahbod 238e7dd2b6 Fix build 2022-09-01 13:24:01 -06:00
Qunxin Liu 470944901f [instance] add benchmarks for instancing 2022-09-01 13:22:05 -06:00
Behdad Esfahbod 031fd20a5a [perf] Update README 2022-06-30 14:09:09 -06:00
Behdad Esfahbod 98fbe87a26 [benchmark-font] Disable quadratic callback
We are interested in the quadratic-to-cubic codepath benchmarking.
2022-06-27 12:10:16 -06:00
Behdad Esfahbod 697287fbd7 [benchmark-shape,hb-shape-threads] Fix argument parsing order
After recent change.
2022-06-05 06:53:42 -06:00
Behdad Esfahbod 2dec742070 [benchmark-shape] Remove a few tests
They were not adding value.
2022-06-05 02:04:02 -06:00
Behdad Esfahbod 3c258e1373 [benchmark-shape] Reorder text vs font order for better output 2022-06-05 02:01:17 -06:00
Behdad Esfahbod 9eab6d326f [benchmark-set] Another Pause/Resume 2022-05-30 05:54:20 -06:00
Behdad Esfahbod f371789b40 Sprinkle static around 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 33c990f0a9 Include cassert to fix bots 2022-05-30 05:09:53 -06:00
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