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
데이터 표 보기
| 입력 크기 | kura-rs (Rust) | unicodedata | 속도 향상 |
|---|---|---|---|
| 10 | 0.01 ms | 0 ms | 3.0× 느림 |
| 100 | 0.02 ms | 0.02 ms | 1.1× 느림 |
| 1,000 | 0.09 ms | 0.16 ms | 1.8× |
| 10,000 | 0.8 ms | 1.7 ms | 2.1× |
| 100,000 | 7.9 ms | 17 ms | 2.2× |
| 1,000,000 | 78 ms | 172 ms | 2.2× |
파일
- parts/unicode_normalize/mod.rs