Random Rust Dev
389 subscribers
87 photos
42 videos
1 file
32 links
Разработка на языке Rust.
Пишу простыни со своими мыслями о Rust и проектах на нем.
Download Telegram
К слову, что вообще за LZP.

Название расшифровывается как Lempel-Ziv Predictive.
И это самый просто LZ-like, который к тому же еще и быстрый и эффективный на определенных типах данных.

Оригинальный LZ77 кодирует символы в последовательность ссылок на подстроки символов уже встреченных ранее (и не вышедших за окно) и литералы.
Это приводит к тому, что при кодировании приходится искать в окне самую длинную подстроку.

LZP не ищет подстроки. Вместо этого окно, обычно совсем небольшое, по сравнению с LZ77, например 4 символа, хэшируется. Этот хэш используется как ключ в кэш символов.
Если следующий символ равен символу в кэше - кодируем один бит 0. Если нет - кодируем бит 1 и литерал. И переписывает символ в кэше на новый.

Несмотря на простоту кодирования, LZP отлично себя показывает на данных, где за последовательностью символов с большой вероятностью идет такой же, как и в прошлый раз за такой последовательностью.
Но предел сжатия - 1 / symbol_bits если всегда будет хит в кэш. Тогда как LZ77 может сжимать в тысячи и миллионы раз, если в данных совсем нет энтропии (все символы одинаковые).
👍422🔥1
Причина номер 1, почему я не пишу что-то каждый день
😢10🤝52😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
Mutex превращает Send в Send+Sync

А Arc мог бы превращать Sync в Sync+Send, но требует Send тоже, только потому что можете вытащить T оттуда в другом потоке через get_mut и try_unwrap.

Вот вам и недостаток выразительности языка. Нет конструкции что бы сказать T: Send для этой функции если Self передавали в другой поток.

Если прям очень надо, можно сделать свой Ark, который будет Send+Sync where T: Sync, но без возможности получить T или &mut T из него
👍6
Когда вспоминаешь, что вышла серия, а там филер опять :(
😁5
Если вы делаете игру и там будет огненный меч - вот вам референс
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥16🤩1
Сразу и не заметишь, но как начнешь читать...

И вот это отбирает работу у художников.
🤣19😭31
Если вы еще гадаете, зачем нужны ИИ, так это для того что бы делать работу с нулевой суммой.

Например ИИ чтоб генерировать 10 страниц текста, где только одна строчка нужна тому, кому понадобилось это прочесть.
И потом ИИ для того что бы найти эту строчку на сайте.

ИИ что бы сгенерировать CV под каждую вакансию по профессии на всём LinkedIn
А у HR-а ИИ для поиска нормальных CV из миллиона присланных.

У нас уже есть ИИ, что бы разговаривать с ним вместо живых людей.
Значит ждем ИИ, что бы он разговаривал с живыми людьми вместо нас.
😁6🥰5💯4💊2👍1🤡1