Embedding TeX 하이픈화 패턴 30개 언어에 대해 1.1 MB 러스트 오토마톤에 내장하기 (2022)
hypher는 Rust 기반의 빠른 하이픈 처리 라이브러리로, 30개 언어의 하이픈 패턴을 단 1.1MB 크기로 효율적으로 압축하여 내장하는 것을 목표로 개발되었습니다.
기존 라이브러리인 hyphenation은 많은 기능과 언어를 지원하지만, 패턴 임베딩 시 2.8MB의 큰 바이너리 오버헤드와 런타임 로딩 문제를 갖고 있었습니다.
hypher는 런타임 할당과 로딩 없이, 트라이(trie) 기반의 상태 머신을 사용해 하이픈 패턴을 효율적으로 탐색하며, UTF-8 바이트 단위로 상태 전이를 압축해 저장합니다.
이 방식은 메모리 사용과 속도 면에서 우수하여, 벤치마크 결과 기존 대비 약 2배 빠른 처리 속도와 더 작은 바이너리 크기를 달성하였습니다.
실용적으로는, 다양한 언어 지원과 함께 영어 전용 모드로 크기를 27KB까지 줄일 수 있어, 경량화가 필요한 애플리케이션에 적합합니다.