Post Thumbnail

Одни из лучих способо учиться прогать - это разбирать хорошие программы с откртытыми исходниками.

В статье подробно разбирается внутреннее устройство uv - чрезвычайно быстрого менеджера пакетов для Python, написанного на Rust. Автор последовательно описывает архитектуру проекта, состоящую из 68 специализированных крейтов, и прослеживает выполнение основных команд.

Особое внимание уделяется двухпоточной архитектуре резолвера, где синхронный поток выполняет алгоритм PubGrub, а асинхронный, с Tokio под капотом, занимается параллельной загрузкой метаданных. Объясняются механизмы глобального кэша на основе content-addressed хэшей, жёсткие ссылки для мгновенной "установки" пакетов, универсальный lockfile, работающий на всех платформах, а еще оптимизации вроде пакетной предвыборки версий.

В заключение автор рассказывает, почему выбор Rust критически важен для такой скоростной архитектуры

Похожее

Post Thumbnail

Тип для всего

Автор делится реальным опытом возникновения серьёзной ошибки из-за неправильного...

Post Thumbnail

Soppo

Какая-то неожиданная волна новых языков, похожих на Go, только с блэкджеком и гу...

Post Thumbnail

Toasty

Статья про релиз первой стабильная версия асинхронной ORM Toasty для Rust Биб...

Post Thumbnail

Генерация WAV

Мы спустимся на самый низ - к тому, "какие биты куда идут", с помощью честного, ...