Skip to content

код для статьи на Хабре - NFC / NFKC нормализация

License

Notifications You must be signed in to change notification settings

gpawru/02_habr_composing_normalization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NF(K)C нормализация строк Unicode

примеры для статьи на Хабре: вставить ссылку

структура репозитория:

  • benches - бенчмарки нормализации
  • tests - тесты нормализации
  • data - "запечённые" данные декомпозиции
  • composing - нормализация строк
  • test_data - данные для тестирования и бенчмарков

подготовка данных:

запуск тестов и бенчмарков:

make test
make bench

(результат - в виде CSV)

Бенчмарки, µs

язык NFС NFKС NFС (dec)
ICU4X my ICU4X my ICU4X my
arabic 892 473 1391 466 1156 656
chinese 781 245 1811 470 787 248
czech 105 71 589 333 1995 1041
dutch 107 73 164 112 104 73
english 156 105 179 105 163 106
french 104 73 239 152 607 312
german 103 73 201 122 287 171
greek 959 442 1454 441 1988 997
hebrew 893 477 1316 469 851 472
hindi 851 470 1147 477 844 481
italian 139 92 212 128 319 178
japanese 852 236 1559 268 1274 414
korean 900 355 1446 361 4504 2905
persian 841 444 1290 464 910 506
polish 106 71 524 272 1033 581
portuguese 105 74 201 129 459 252
russian 799 454 1299 450 865 497
serbian 806 475 1268 473 800 476
spanish 121 82 236 147 516 253
thai 1046 571 1471 618 1052 575
turkish 114 78 591 303 1063 590
ukrainian 794 441 1282 439 937 523
vietnamese 568 304 1225 530 3814 2047

About

код для статьи на Хабре - NFC / NFKC нормализация

Topics

Resources

License

Stars

Watchers

Forks