HarfBuzz text shaping engine
Go to file
Behdad Esfahbod c1f4b57c06 [ot-tags] Optimize language comparison
Now that we know both strings are of equal len of 2 or 3, optimize.

Part of https://github.com/harfbuzz/harfbuzz/issues/3591

Before:
------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations
------------------------------------------------------------------------------------------------
BM_hb_ot_tags_from_script_and_language/COMMON abcd_XY       8.50 ns         8.47 ns     81221549
BM_hb_ot_tags_from_script_and_language/COMMON zh_CN         79.6 ns         79.3 ns      8785804
BM_hb_ot_tags_from_script_and_language/COMMON en_US         40.0 ns         39.9 ns     17462768
BM_hb_ot_tags_from_script_and_language/LATIN en_US          39.2 ns         39.1 ns     17886793
BM_hb_ot_tags_from_script_and_language/COMMON none          4.31 ns         4.30 ns    162805417
BM_hb_ot_tags_from_script_and_language/LATIN none           4.32 ns         4.31 ns    162656688

After:
------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations
------------------------------------------------------------------------------------------------
BM_hb_ot_tags_from_script_and_language/COMMON abcd_XY       8.27 ns         8.24 ns     81868701
BM_hb_ot_tags_from_script_and_language/COMMON zh_CN         56.1 ns         56.0 ns     12353284
BM_hb_ot_tags_from_script_and_language/COMMON en_US         24.3 ns         24.2 ns     28955030
BM_hb_ot_tags_from_script_and_language/LATIN en_US          24.5 ns         24.4 ns     28664868
BM_hb_ot_tags_from_script_and_language/COMMON none          4.35 ns         4.34 ns    161190014
BM_hb_ot_tags_from_script_and_language/LATIN none           4.36 ns         4.34 ns    161319000
2022-05-17 15:19:40 -06:00
.ci [meson] Update cairo subproject 2022-02-13 13:21:14 -06:00
.circleci [ci] Try harder to fix this randomly failing job 2021-12-12 07:50:06 +02:00
.github/workflows Update Coverity settings 2022-04-22 02:22:29 +02:00
docs Updated version 2022-04-20 12:04:40 -06:00
m4 Revert "Remove autotools build support" 2020-08-11 23:51:59 +04:30
perf [perf/benchmark-ot] Add one more test 2022-05-17 14:45:45 -06:00
src [ot-tags] Optimize language comparison 2022-05-17 15:19:40 -06:00
subprojects Upgrade google benchmark dep to latest version to fix build failure. 2022-04-21 11:16:12 -06:00
test [perf] Make subset benchmark data driven. 2022-05-10 14:30:08 -06:00
util Expose --passthrough-tables option to hb-subset CLI tool 2022-04-12 10:40:46 -06:00
.clang-format
.codecov.yml [ci] Disable patch-level codecov failures 2021-06-04 14:51:49 -06:00
.editorconfig
AUTHORS
BUILD.md fix build requirements for fedora/centos in buiding document 2022-05-13 13:10:11 -06:00
CMakeLists.txt CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++ 2022-04-06 14:20:59 +02:00
CONFIG.md [CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides 2021-12-03 11:49:55 -07:00
COPYING Update COPYING 2021-06-05 13:44:51 -06:00
Makefile.am Try to fix distcheck 2022-04-29 16:19:10 -06:00
NEWS 4.2.1 2022-04-24 05:47:57 +02:00
README Rename various references to master branch 2021-06-05 04:18:52 +02:00
README.md Remove ABI tracker link 2022-04-22 02:22:29 +02:00
README.mingw.md [mingw] Reinstate win32 cross-compiling with autotools instructions 2021-01-24 12:28:04 -07:00
README.python.md
RELEASING.md Fix various typos 2022-01-16 05:39:03 -08:00
TESTING.md [docs] Minor in TESTING.md 2020-08-14 10:19:33 +04:30
THANKS
autogen.sh Revert "Remove autotools build support" 2020-08-11 23:51:59 +04:30
configure.ac Try to fix distcheck 2022-04-29 16:19:10 -06:00
git.mk [git.mk] Update 2022-01-13 11:01:39 -07:00
harfbuzz.doap
meson.build 4.2.1 2022-04-24 05:47:57 +02:00
meson_options.txt [meson] Add graphite2 option and deprecate graphite 2021-10-23 10:59:02 -07:00
mingw-configure.sh [mingw] Reinstate win32 cross-compiling with autotools instructions 2021-01-24 12:28:04 -07:00
replace-enum-strings.cmake Revert "Remove cmake build files" 2020-08-12 01:00:33 +04:30

README.md

Linux CI Status CircleCI Build Status OSS-Fuzz Status Coverity Scan Build Status Codacy Badge Codecov Code Coverage Packaging status

This is HarfBuzz, a text shaping library.

For bug reports, mailing list, and other information please visit:

http://harfbuzz.org/

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

Packaging status of HarfBuzz

Packaging status