Unicode Normalize

v0.1.02026년 9월 26일 추가샘플 데이터

텍스트 파이프라인을 위한 Unicode 정리: NFC/NFKC 정규화, 공백 정리, 보이지 않는 문자 제거.

샘플 데이터입니다. 이 수치는 측정값이 아닌 임시 값입니다.

cargo install kura-rs
kura add unicode-normalize

소스 파일을 프로젝트에 복사합니다. 이후 코드는 여러분의 것입니다.

다른 도구가 이미 kura 명령을 설치했다면 cargo install kura-rs --bin kura-rs로 설치하고 kura-rs add를 사용하세요.

use crate::parts::unicode_normalize::{normalize, Options};

let clean = normalize(&raw, Options::nfkc().fold_whitespace().strip_invisible());

검증

샘플 데이터

unicodedata 3.12 (Python)와(과) 속성 기반 테스트(으)로 대조했습니다. 두 구현에 같은 입력을 넣고 출력을 비교합니다.

참조 구현
unicodedata
Python 3.12
테스트 케이스
10,000
속성 기반 테스트
통과
10,000 / 10,000
모든 케이스 일치
마지막 실행
2026년 9월 26일
UTC

이 수치는 임시 값입니다. 아직 측정되지 않았으므로 실제 결과로 해석해서는 안 됩니다. 이 부품은 registry 파일에서 "sample": true(으)로 표시되어 있습니다.

벤치마크

샘플 데이터

다양한 입력 크기에서 kura-rs (Rust)와 unicodedata을(를) 비교합니다. 입력 약 143개부터 더 빠름, 최대 2.2× 빠름.

이 수치는 임시 값입니다. 아직 측정되지 않았으므로 실제 결과로 해석해서는 안 됩니다. 이 부품은 registry 파일에서 "sample": true(으)로 표시되어 있습니다.

kura-rs (Rust)unicodedata
1회 실행당 소요 시간 (낮을수록 좋음). 음영 영역은 참조 구현이 더 빠른 구간입니다.
데이터 표 보기
입력 크기kura-rs (Rust)unicodedata속도 향상
100.01 ms0 ms3.0× 느림
1000.02 ms0.02 ms1.1× 느림
1,0000.09 ms0.16 ms1.8×
10,0000.8 ms1.7 ms2.1×
100,0007.9 ms17 ms2.2×
1,000,00078 ms172 ms2.2×

파일

  • parts/unicode_normalize/mod.rs

crate 의존성