| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "hb-benchmark.hh"
- static void BM_hb_ot_tags_from_script_and_language (benchmark::State& state,
- hb_script_t script,
- const char *language_str) {
- hb_language_t language = hb_language_from_string (language_str, -1);
- for (auto _ : state)
- {
- hb_tag_t script_tags[HB_OT_MAX_TAGS_PER_SCRIPT];
- unsigned script_count = HB_OT_MAX_TAGS_PER_SCRIPT;
- hb_tag_t language_tags[HB_OT_MAX_TAGS_PER_LANGUAGE];
- unsigned language_count = HB_OT_MAX_TAGS_PER_LANGUAGE;
- hb_ot_tags_from_script_and_language (script,
- language,
- &script_count /* IN/OUT */,
- script_tags /* OUT */,
- &language_count /* IN/OUT */,
- language_tags /* OUT */);
- }
- }
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON zh_abcd, HB_SCRIPT_COMMON, "zh_abcd");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON zh_hans, HB_SCRIPT_COMMON, "zh_hans");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON ab_abcd, HB_SCRIPT_COMMON, "ab_abcd");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON ab_abc, HB_SCRIPT_COMMON, "ab_abc");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON abcdef_XY, HB_SCRIPT_COMMON, "abcdef_XY");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON abcd_XY, HB_SCRIPT_COMMON, "abcd_XY");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON cxy_CN, HB_SCRIPT_COMMON, "cxy_CN");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON exy_CN, HB_SCRIPT_COMMON, "exy_CN");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON zh_CN, HB_SCRIPT_COMMON, "zh_CN");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON en_US, HB_SCRIPT_COMMON, "en_US");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, LATIN en_US, HB_SCRIPT_LATIN, "en_US");
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, COMMON none, HB_SCRIPT_LATIN, nullptr);
- BENCHMARK_CAPTURE (BM_hb_ot_tags_from_script_and_language, LATIN none, HB_SCRIPT_LATIN, nullptr);
- BENCHMARK_MAIN();
|