[perf] Add several more fonts to the subset benchmarks.

This commit is contained in:
Garret Rieger 2022-04-20 21:51:20 +00:00 committed by Behdad Esfahbod
parent 9ad300360d
commit b3ce96da3b
3 changed files with 30 additions and 16 deletions

View File

@ -12,16 +12,17 @@ void AddCodepoints(const hb_set_t* codepoints_in_font,
hb_codepoint_t cp = HB_SET_VALUE_INVALID;
for (unsigned i = 0; i < subset_size; i++) {
// TODO(garretrieger): pick randomly.
assert (hb_set_next (codepoints_in_font, &cp));
if (!hb_set_next (codepoints_in_font, &cp)) return;
hb_set_add (hb_subset_input_unicode_set (input), cp);
}
}
/* benchmark for subsetting a font */
static void BM_subset_codepoints (benchmark::State &state,
const char *font_path,
unsigned subset_size)
const char *font_path)
{
unsigned subset_size = state.range(0);
hb_face_t *face;
{
hb_blob_t *blob = hb_blob_create_from_file_or_fail (font_path);
@ -53,21 +54,34 @@ static void BM_subset_codepoints (benchmark::State &state,
hb_face_destroy (face);
}
// TODO(garretrieger): Use range() for subset size.
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_roboto_10,
"perf/fonts/Roboto-Regular.ttf", 10)
->Unit(benchmark::kMicrosecond);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_roboto,
"perf/fonts/Roboto-Regular.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 4000);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_roboto_100,
"perf/fonts/Roboto-Regular.ttf", 100)
->Unit(benchmark::kMicrosecond);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_amiri,
"perf/fonts/Amiri-Regular.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 4000);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_noto_nastaliq_urdu_10,
"perf/fonts/NotoNastaliqUrdu-Regular.ttf", 10)
->Unit(benchmark::kMicrosecond);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_noto_nastaliq_urdu,
"perf/fonts/NotoNastaliqUrdu-Regular.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 1000);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_noto_nastaliq_urdu_100,
"perf/fonts/NotoNastaliqUrdu-Regular.ttf", 100)
->Unit(benchmark::kMicrosecond);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_noto_devangari,
"perf/fonts/NotoSansDevanagari-Regular.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 1000);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_mplus1p,
"perf/fonts/Mplus1p-Regular.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 10000);
BENCHMARK_CAPTURE (BM_subset_codepoints, subset_notocjk,
"perf/fonts/NotoSansCJKsc-VF.ttf")
->Unit(benchmark::kMillisecond)
->Range(10, 100000);
BENCHMARK_MAIN();

Binary file not shown.

Binary file not shown.