dd3c858f84
Part of https://github.com/harfbuzz/harfbuzz/issues/3591 "After that, bulk of the time I suppose is spent in binary-searching the language table. I suggest we split the language table in 2-letter and 3-letter tags, to speed-up the vast majority of cases that are 2-letter." benchmark-ot, before: ---------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------------------------------- BM_hb_ot_tags_from_script_and_language/COMMON zh_CN 112 ns 111 ns 6286271 BM_hb_ot_tags_from_script_and_language/COMMON en_US 60.6 ns 60.4 ns 11671176 BM_hb_ot_tags_from_script_and_language/LATIN en_US 61.3 ns 61.1 ns 11442645 BM_hb_ot_tags_from_script_and_language/COMMON none 4.75 ns 4.74 ns 146997235 BM_hb_ot_tags_from_script_and_language/LATIN none 4.65 ns 4.64 ns 150938747 After: ---------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------------------------------- BM_hb_ot_tags_from_script_and_language/COMMON zh_CN 89.5 ns 89.2 ns 7747649 BM_hb_ot_tags_from_script_and_language/COMMON en_US 38.5 ns 38.4 ns 18199432 BM_hb_ot_tags_from_script_and_language/LATIN en_US 39.0 ns 38.9 ns 18049238 BM_hb_ot_tags_from_script_and_language/COMMON none 4.53 ns 4.52 ns 154895110 BM_hb_ot_tags_from_script_and_language/LATIN none 4.54 ns 4.52 ns 154762105 |
||
---|---|---|
.ci | ||
.circleci | ||
.github/workflows | ||
docs | ||
m4 | ||
perf | ||
src | ||
subprojects | ||
test | ||
util | ||
.clang-format | ||
.codecov.yml | ||
.editorconfig | ||
AUTHORS | ||
BUILD.md | ||
CMakeLists.txt | ||
CONFIG.md | ||
COPYING | ||
Makefile.am | ||
NEWS | ||
README | ||
README.md | ||
README.mingw.md | ||
README.python.md | ||
RELEASING.md | ||
TESTING.md | ||
THANKS | ||
autogen.sh | ||
configure.ac | ||
git.mk | ||
harfbuzz.doap | ||
meson.build | ||
meson_options.txt | ||
mingw-configure.sh | ||
replace-enum-strings.cmake |
README.md
This is HarfBuzz, a text shaping library.
For bug reports, mailing list, and other information please visit:
For license information, see COPYING.
For build information, see BUILD.md.
For custom configurations, see CONFIG.md.
For test execution, see TESTING.md.
Documentation: https://harfbuzz.github.io