RANDOM_RUST_DEV Telegram 137
Абсолютно случайно опубликовал новый crate - "vtid", что значит Volatile Type ID.
"А что ж это за зверь такой?" - подумали вы, наверное.
А это очень простая и совершенно ненужная 99.9% программистам вещь - это расширенный TypeId, который точно-точно меняется, если крейт перекомпилировался.
Нужен он для горячих перезагрузок, а точнее для их ускорения.
Идея проста, если Vtid типа остался прежним, то и тип никак не мог поменяться, потому что тогда его крейт бы перекомпилировался и Vtid поменялся.
А раз тип не изменился, то можно взять да и переиспользовать его старые инстансы. В частности загруженные ассеты.

Конечно Vtid меняется все же чаще чем хотелось бы. Любое изменение в крейте меняет Vtid всех типов из него и зависимых крейтах, даже если меняется только код какой-нить функции.
Поэтому для уменьшения количества перезагружаемых ассетов я постараюсь типы с большими ассетами объявлять в отдельныйх крейтах-плагинах с минимумом плагинов-зависимостей.

Ссылка на сам крейт https://crates.io/crates/vtid



tgoop.com/random_rust_dev/137
Create:
Last Update:

Абсолютно случайно опубликовал новый crate - "vtid", что значит Volatile Type ID.
"А что ж это за зверь такой?" - подумали вы, наверное.
А это очень простая и совершенно ненужная 99.9% программистам вещь - это расширенный TypeId, который точно-точно меняется, если крейт перекомпилировался.
Нужен он для горячих перезагрузок, а точнее для их ускорения.
Идея проста, если Vtid типа остался прежним, то и тип никак не мог поменяться, потому что тогда его крейт бы перекомпилировался и Vtid поменялся.
А раз тип не изменился, то можно взять да и переиспользовать его старые инстансы. В частности загруженные ассеты.

Конечно Vtid меняется все же чаще чем хотелось бы. Любое изменение в крейте меняет Vtid всех типов из него и зависимых крейтах, даже если меняется только код какой-нить функции.
Поэтому для уменьшения количества перезагружаемых ассетов я постараюсь типы с большими ассетами объявлять в отдельныйх крейтах-плагинах с минимумом плагинов-зависимостей.

Ссылка на сам крейт https://crates.io/crates/vtid

BY Random Rust Dev




Share with your friend now:
tgoop.com/random_rust_dev/137

View MORE
Open in Telegram


Telegram News

Date: |

Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” How to create a business channel on Telegram? (Tutorial) As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information.
from us


Telegram Random Rust Dev
FROM American