spamsink: (Default)
[personal profile] spamsink
Берём большой файл со списком русских слов, включая словоформы. Он в кодировке Win-1251, а не в Unicode - или чтобы короче был, или потому что некоторые операционные системы до сих пор тупят. Его длина - 18265150 байт.

Чтобы смотреть на него в линуксе, делаем, как указано в инструкции,
iconv -f WINDOWS-1251 -t UTF-8 russian.txt > russian.utf-8

и получаем файл длиной 34993984.

Насмотревшись на этот файл, решаем его не выбрасывать, а сжать, попробовав оба варианта файла и две программы сжатия - gzip и bzip2, обе с ключом -9.

Итого, ls -lSr russian*
-rw-r--r-- 1 spamsink users  3814446 Jul 22 19:40 russian.txt.gz
-rw-r--r-- 1 spamsink users  4164422 Jul 22 18:27 russian.utf-8.bz2
-rw-r--r-- 1 spamsink users  4326903 Jul 22 18:25 russian.txt.bz2
-rw-r--r-- 1 spamsink users  4659786 Jul 22 19:41 russian.utf-8.gz
-rw-r--r-- 1 spamsink users 18265150 Jul 22 19:39 russian.txt
-rw-r--r-- 1 spamsink users 34993984 Jul 22 19:40 russian.utf-8


Меня позабавило не то, что russian.txt.gz самый маленький - это более или менее объяснимо, а то, что russian.txt.bz2 больше, чем russian.utf-8.bz2. Вот это я навскидку объяснить не могу.

Date: 2022-07-23 03:05 am (UTC)
lxe: (Default)
From: [personal profile] lxe
Это лишний раз подтверждает, что если архиватору, как и человеку, давать передышку, его средняя производительность возрастет.

Date: 2022-07-23 03:26 pm (UTC)
From: [personal profile] sassa_nf
16-bit Huffman codes?..

Date: 2022-07-24 08:56 am (UTC)
From: [personal profile] sassa_nf
I don't get it how in your opinion the frequency of a could change.

My thinking was: if bz2 is looking for 2-byte sequences, then win-1251 has more unique 2-byte sequences than utf-8.

Date: 2022-07-26 06:43 am (UTC)
From: [personal profile] sassa_nf
Interesting
Page generated Sep. 2nd, 2025 01:25 am
Powered by Dreamwidth Studios