В прошлый раз я писал про потерянное пробуждение и получил в комментариях справедливое замечание, что примитив там классический. Так и есть. Сегодня про место, где классики меньше: как в моём ядре устроено переключение контекста, и почему ассемблер там знает смещение поля в…
Привет, Хабр!Сегодня у нас на повестке дня rust-bert — одна из самых мощных библиотек для обработки естественного языка в экосистеме Rust. Если вы уже знакомы с Hugging Face и их библиотекой Transformers на Python, то rust-bert для вас. Эта библиотека переносит state-of-the-art модели прямо в проект на Rust.Главная фича rust-bert в том, что она идеально вписывается в Rust. Читать далее
Rust 1.87.0 и 10 лет Rust! Команда Rust празднует 10-летие Rust в Утрехте, Нидерланды, и рада сообщить о новой версии языка — 1.87.0! Сегодняшний день релиза выпал на 10-летний юбилей выхода Rust 1.0! Спасибо мириадам участников, кто работал или работает над Rust. Выпьем за ещё многие десятилетия впереди!
«П‑с-с‑с, хочешь, чтобы функция очистки массива была на 49% быстрее? Сдвинь массив на 4 байта».Рассмотрим следующий код на Go:const words = 1 << 19type block struct { n uint32 data [words]uint32}func (b *block) reset() { b.data = [words]uint32{}}Что, если я скажу вам, что всего лишь добавив 4 байта заполнения (padding) между n и data, вы ускорите функцию reset на 49% (по крайней мере, на машинах с Intel)? Звучит безумно? Читать далее