perf

Branch


Log

Author Commit Date CI Message
Behdad Esfahbod 5087e53b 2025-07-26T04:02:41 [perf] Use GOption (#5422) * [perf] Don't build benchmarks if no glib Also remove unnecessary deps. * [benchmark-shape/font] Port to GOption
Behdad Esfahbod ff46559b 2025-07-24T00:34:37 [benchmark-shape] Massage message again
Behdad Esfahbod 5991cb3d 2025-07-24T00:30:06 [benchmark-shape] Change message
Behdad Esfahbod 0a7a760a 2025-07-24T00:28:51 [benchmark-shape] Skip shaper if shaping failed
Behdad Esfahbod 0c3606b5 2025-07-23T17:06:50 [benchmark-font] Respect HB_BENCHMARK_TEXT
Behdad Esfahbod fa082b25 2025-07-23T15:17:48 [benchmark-shape] Warm up the font / buffer first
Behdad Esfahbod b3765e7c 2025-07-19T07:13:41 [benchmark-font] Call the plural glyph-v-origins API Ouch!
Behdad Esfahbod cbc928fa 2025-07-19T06:29:38 [benchmark-font] malloc hygiene
Behdad Esfahbod dd85aeba 2025-07-18T21:15:10 [benchmark-shape] Take text direction as extra argument
Behdad Esfahbod 266c0f8e 2025-07-18T21:49:07 [benchmark-font] Add --max-glyphs argument --max-glyphs 256 can be used to measure the cached behavior of many ops, like glyph_h_advance, glyph_v_advance, and glyph_v_origin.
Behdad Esfahbod 94efb343 2025-07-18T21:29:19 [benchmark-font] Benchmark v_advances and v_origin
Behdad Esfahbod 97103688 2025-07-11T00:30:48 [perf/hb-draw-compare] Default font-funcs2 to fontations Yay!
Behdad Esfahbod 8d517f7e 2025-06-12T08:13:42 [hb-draw-compare] Declutter output
Behdad Esfahbod d9a258be 2025-05-31T16:27:54 [perf] Add hb-draw-compare and hb-svg-compare
Behdad Esfahbod a13fd9ae 2025-05-21T12:23:19 Merge branch 'main' into HVF
Behdad Esfahbod 88b9feb9 2025-05-20T20:40:40 [benchmark-font] Allow specifying variations on cmdline
Behdad Esfahbod 60c4b9cb 2025-05-20T20:12:49 [benchmark-font] Minor refactor In prep for accepting arbitrary variations on the cmdline.
Behdad Esfahbod 6b2563ff 2025-04-06T15:05:25 Merge branch 'main' into HVF
Behdad Esfahbod 9ddf3da7 2025-04-04T14:21:46 [benchmark-shape] Accept one variation on the cmd-line
Behdad Esfahbod 4162d3bf 2025-03-21T20:06:05 Merge branch 'main' into HVF
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