perf


Log

Author Commit Date CI Message
Behdad Esfahbod 0eeb6ccb 2025-03-21T17:36:43 [perf] Bikeshedding
Behdad Esfahbod 6b9d9f72 2025-03-09T01:40:23 [face] Add HB_FACE_LOADER env var
Behdad Esfahbod 2a878b1b 2025-03-07T17:23:17 [font-funcs] Add two new API + hb_font_set_funcs_using() + hb_font_list_funcs() Part of https://github.com/harfbuzz/harfbuzz/issues/5117
Behdad Esfahbod e27e7f1c 2025-03-07T14:01:57 [perf] README minor
Behdad Esfahbod 460a8225 2025-03-07T13:33:08 [perf] Improve README
Behdad Esfahbod e054db4a 2025-03-04T18:43:19 [fontations] Hook up to benchmark-font
Behdad Esfahbod a2ea5d28 2025-02-18T21:43:39 [benchmark-font] Report draw times in ms, not us
Behdad Esfahbod 19a152b4 2025-02-09T12:37:03 [perf] Don't depend on libharfbuzz-subset for most benchmarks
Behdad Esfahbod b44f6ff5 2025-02-05T12:19:48 [perf/texts] Add a list of just 2letter strings
Behdad Esfahbod 267ebeec 2025-02-04T11:08:52 [perf/text] Add a long piece of JS code for benchmarking
Behdad Esfahbod d8d0987f 2025-02-02T18:08:09 [benchmark-shape] Remove variable-font test set It doesn't really affect shaping much. Kill it.
Behdad Esfahbod 9bd75952 2025-02-02T11:14:49 [benchmark-shape] Compare diff shapers, not font funcs
Garret Rieger 392581be 2024-10-24T21:39:23 [subest] get benchmark subset working again.
Behdad Esfahbod 825bc196 2024-10-15T18:17:46 [perf] Simplify meson.build Fixes https://github.com/harfbuzz/harfbuzz/issues/4896
Behdad Esfahbod a8360b7e 2024-10-13T20:27:50 [perf] Respect new envvar HB_FACE_LOADER
Behdad Esfahbod c224178a 2024-10-13T20:21:35 [perf] Add hb-benchmark.hh
Behdad Esfahbod 8a805271 2024-10-10T12:56:31 [coretext] Start implementing CoreText font-funcs Does nominal glyph mapping, horiz advances, and draw so far.
Khaled Hosny cf1fdf16 2024-06-27T06:54:02 Drop autotools build Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
Garret Rieger 4cf606f6 2024-05-02T20:46:29 [instancer] Promote partial instancing api out of experimental.
Garret Rieger 2fcace77 2024-04-02T17:42:14 [subet] Don't use experimental api flag in benchmark if not compiled with experimental api.
Garret Rieger 8974fe48 2024-02-14T21:09:21 [subset] Add a partial instancing + IUP case to the subset benchmarks.
Behdad Esfahbod 9a7afe92 2023-08-09T12:00:41 [perf] Benchmark glyph painting
Behdad Esfahbod ebdfa983 2023-07-30T12:22:55 [perf] Measure freetype face loading as well
Behdad Esfahbod 55f41e28 2023-07-21T12:10:46 [perf] Add duployan.txt From https://kaltashwawa.ca/2022/01/20/lovecraft-in-chinook-puspus-kopa-ulthar-tawn/
Behdad Esfahbod b2d648e4 2023-07-15T14:26:06 [perf/benchmark-subset] Rename subset_codepoints to subset_unicodes
Behdad Esfahbod 13438da1 2023-07-02T12:56:13 [benchmark-font] Minor move a variable
Behdad Esfahbod 7d72fdd5 2023-07-02T09:55:37 [benchmark-font] Do some work in draw_glyph callbacks For no good reason other than matching what I'm adding to skrifa benchmark. Doesn't seem to affect benchmarks whatsoever.
Behdad Esfahbod 0fceaef0 2023-06-30T08:50:49 [benchmark-subset] Report in microseconds, not milli We're in that range now. :)
Behdad Esfahbod 547dc1a4 2023-06-30T08:48:43 [benchmark-font] Add load_face_and_shape benchmark To measure face-loading performance
Behdad Esfahbod fcf70af1 2023-06-30T08:43:10 [perf] Fix break
Behdad Esfahbod 17f29c81 2023-06-29T13:27:09 [benchmark_font/draw_glyphs] Implement quadratic_to Not interested in the fallback implementation here.
Behdad Esfahbod 41f85d01 2023-06-27T12:50:04 [benchmark-font] Add RobotoFlex We didn't have a variable TTF before!
Behdad Esfahbod 3a827123 2023-06-23T11:16:57 [benchmark-subset] Free cached face upon exist For better valgrind output.
Garret Rieger 6b0d3867 2023-06-01T23:59:55 [subset] in subset benchmarks switch nohinting with retaingids. retain gids is a more interesting case than no hinting for performance.
Garret Rieger f41c5ec9 2023-06-01T18:38:05 [map] update map benchmark to also test lookups that hit.
Behdad Esfahbod 7f111787 2023-05-27T12:41:05 [benchmark-map] Remove overhead
Behdad Esfahbod 56668073 2023-05-27T12:37:36 [benchmark-map] Improve Insert benchmark Previously it was enlarging the map depending on whatever number of runs the benchmark-runner decided to run the loop. That wasn't very useful...
Behdad Esfahbod fc8dfe64 2023-04-24T14:39:20 [benchmark-font] Minor rename
Behdad Esfahbod 3c972867 2022-12-22T11:40:06 More s/hb_font_get_glyph_shape/hb_font_draw_glyph/
Behdad Esfahbod 7f73b57b 2022-12-10T17:35:52 [subset] Graduate L1 instancing API from experimental Fixes https://github.com/harfbuzz/harfbuzz/issues/3926
Garret Rieger eda02c2e 2022-12-05T20:18:41 [subset] Move hb_subset_preprocess to be non-experimental.
Behdad Esfahbod 29903f46 2022-12-02T17:45:01 [benchmark-subset] Cache (preprocessed) face amongst runs
Behdad Esfahbod 20a0a467 2022-11-30T15:59:54 [perf] Remove stale run.sh
Behdad Esfahbod 38e7bc34 2022-11-30T15:01:38 [benchmark-subset] Support testing arbitrary fonts from cmdline
Behdad Esfahbod fad8322b 2022-11-27T15:09:48 [benchmark-subset] Add no-hinting ops
Behdad Esfahbod 1e6f77c2 2022-11-26T15:31:56 [benchmark-subset] Adjust num glyphs more
Behdad Esfahbod 0382defa 2022-11-26T15:27:07 [benchmark-subset] Adjust number of glyphs of fonts
Behdad Esfahbod 4cb441df 2022-11-26T15:23:07 [benchmark-subset] Add AdobeVFPrototype
Behdad Esfahbod b6df3471 2022-11-23T20:15:16 [perf] Add Hindi test to benchmark-shape
Behdad Esfahbod 44396197 2022-11-16T16:35:00 [perf] Add fa-words.txt and use in shape benchmark
Garret Rieger d1bf6c0c 2022-10-17T20:14:02 [subset] only preprocess in benchmark when experimental api is enabled.
Garret Rieger 515863e5 2022-10-13T23:42:00 [subset] Remove add accelerator flag, replace with new api method. Adds hb_subset_preprocess() which preprocesses the face and attaches accelerator data.
Garret Rieger 3394ec70 2022-10-13T23:02:54 [subset] use subset accelerator in tests. This ensures it produces equivalent subsets as without the accelerator.
Garret Rieger f4903def 2022-10-13T21:38:54 [subset] use the accelerator in the subsetting benchmark.
Behdad Esfahbod 238e7dd2 2022-09-01T13:24:01 Fix build
Qunxin Liu 47094490 2022-08-31T12:01:32 [instance] add benchmarks for instancing
Behdad Esfahbod 031fd20a 2022-06-30T13:50:18 [perf] Update README
Behdad Esfahbod 98fbe87a 2022-06-27T11:48:59 [benchmark-font] Disable quadratic callback We are interested in the quadratic-to-cubic codepath benchmarking.
Behdad Esfahbod 697287fb 2022-06-05T06:53:42 [benchmark-shape,hb-shape-threads] Fix argument parsing order After recent change.
Behdad Esfahbod 2dec7420 2022-06-05T02:04:02 [benchmark-shape] Remove a few tests They were not adding value.
Behdad Esfahbod 3c258e13 2022-06-05T02:01:17 [benchmark-shape] Reorder text vs font order for better output
Behdad Esfahbod 9eab6d32 2022-05-26T12:00:45 [benchmark-set] Another Pause/Resume
Behdad Esfahbod f371789b 2022-05-28T04:02:36 Sprinkle static around
Behdad Esfahbod 33c990f0 2022-05-27T16:57:00 Include cassert to fix bots
Behdad Esfahbod 0fe18692 2022-05-24T17:49:15 [benchmark-set] Pause timing around set copy initialization
Behdad Esfahbod ce5435a8 2022-05-24T16:34:04 [benchmark-set] Remove use of rand() inside benchmark
Behdad Esfahbod 8a7cfe17 2022-05-23T14:36:06 [perf/benchmark-shape] Test ft font backend as well
Behdad Esfahbod e1f4445d 2022-05-21T15:11:53 [benchmark-shape] Allow taking multiple tests from cmdline
Behdad Esfahbod 1bf2d5f8 2022-05-21T14:42:50 [perf/benchmark-shape] Allow taking text-file/font-file args from cmdline
Behdad Esfahbod 852a8f04 2022-05-21T14:31:09 [perf/benchmark-font] Allow benchmarking fonts specified on cmdline
Behdad Esfahbod da4b6f15 2022-05-20T17:21:04 [benchmark-shape] Add variable fonts
Behdad Esfahbod 0623aa59 2022-05-19T14:12:42 [benchmark-set] Add benchmark for set copy
Behdad Esfahbod 3e4ab2ad 2022-05-18T11:16:46 [perf/benchmark-ot] Add zh-hans
Behdad Esfahbod 6e668a2a 2022-05-18T11:16:11 [perf/benchmark-ot] Rename test
Behdad Esfahbod f5d619be 2022-05-18T11:04:52 [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
Behdad Esfahbod b231fc2d 2022-05-17T17:02:48 [perf/benchmark-ot] Add a couple more test cases
Behdad Esfahbod 3524b14f 2022-05-17T17:02:48 [perf/benchmark-ot] Add a couple more test cases
Behdad Esfahbod 0ff5d36c 2022-05-17T16:34:52 [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
Behdad Esfahbod 407a135b 2022-05-17T14:45:45 [perf/benchmark-ot] Add one more test
Behdad Esfahbod 26d906b8 2022-05-17T13:12:17 [perf] Add benchmark-ot
Behdad Esfahbod 629fa8ee 2022-05-16T17:44:50 [perf/benchmark-font] Test Roboto as variable even though it's not
Behdad Esfahbod 71a0cda8 2022-05-16T17:43:48 [perf/benchmark-font] Only certain fonts are variable Don't test every font as variable.
Garret Rieger e4e053c8 2022-05-13T17:00:57 [perf] fix typo in perf Makefile.
Behdad Esfahbod 7edd54f3 2022-05-10T18:44:14 [perf/benchmark-subset] Minor cleanup
Garret Rieger 52d59bf1 2022-05-10T19:40:37 [perf] Make subset benchmark data driven.
Garret Rieger 5277a577 2022-05-10T18:14:25 [perf] Add benchmarks for CFF subsetting.
Garret Rieger bc5129d7 2022-05-04T22:16:03 [perf] use option_t in subset benchmark to select between glyphs and codepoint subset.
Garret Rieger 6212856c 2022-05-04T22:16:03 [perf] benchmark subsetting via glyphs.
Behdad Esfahbod f67e6bf7 2022-05-02T16:59:48 [perf/benchmark-font] Add benchmark for glyph_h_advance
Behdad Esfahbod 1c0a3d4d 2022-05-02T16:50:54 [perf/benchmark-font] Add a couple Noto fonts
Behdad Esfahbod 3fff2e91 2022-05-02T16:31:59 [perf/benchmark-font] Cosmetic
Behdad Esfahbod 0d1f8dca 2022-05-02T16:18:53 [perf/benchmark-font] Actually make nominal_glyph bench work
Behdad Esfahbod 6cf69d10 2022-05-02T16:07:32 [perf/benchmark-font] Add back testing of is_variable
Behdad Esfahbod 3aa2ff79 2022-05-02T16:01:22 [perf/benchmark-font] Fix build without freetype
Behdad Esfahbod 58a0988b 2022-05-02T15:57:19 [perf/benchmark-font] Benchmark get_nominal_glyph
Behdad Esfahbod 6d29903e 2022-05-02T14:03:15 [perf/benchmark-font] Parametrize test
Behdad Esfahbod 636c90e8 2022-05-02T13:41:49 [perf/perf] Rename to benchmark-font
Behdad Esfahbod 036d03d2 2022-05-02T13:39:54 [perf/perf] Move all logic to perf-draw, for now To be renamed.
Behdad Esfahbod 746c3c03 2022-05-02T13:26:41 [perf/perf] Remove ttf-parser backend
Behdad Esfahbod 4aaa0af7 2022-05-02T13:06:27 [perf/perf] Rely on hb-draw to measure ft performance