rust_code | Unsorted

Telegram-канал rust_code - Rust

8052

Rust programming language По всем вопросам- @haarrp @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 #VRHSZ

Subscribe to a channel

Rust

⚡️ Как запретить ошибку в работе с путями ещё до запуска программы?

В Rust путь состоит из разных компонентов: имени папки, корня, . или ... Если функция принимает произвольную строку, ей могут передать .. или абсолютный путь и неожиданно изменить результат объединения.

Автор статьи предлагает выделить обычное имя в отдельный тип NormalComponent. Тогда сигнатура говорит сама за себя:


fn join_normal(&self, name: &NormalComponent) -> AbsPath


Функция принимает только компонент имени, а не любой фрагмент пути. Ошибочный вызов отсекается типами, без россыпи проверок внутри функции. Приём простой: если разные варианты enum дают разные гарантии, иногда полезно представить нужный вариант отдельным типом.

https://www.schneems.com/2026/09/24/a-type-stronger-than-the-sum-of-its-components/

Читать полностью…

Rust

🦀 mold переписали с C++ на Rust

Вышел mold 3.0, первая Rust-версия быстрого линкера для Unix. Он объединяет скомпилированные части программы в исполняемый файл или библиотеку и помогает сократить ожидание при сборке.

По данным разработчиков, после переписывания скорость осталась на уровне C++-версии. Сохранились параметры командной строки и поддерживаемые архитектуры, а сборка самого mold переехала с CMake на Cargo.

Обработка повреждённых файлов стала безопаснее: обращения за границы памяти теперь проверяются. Следующая цель проекта — улучшить совместимость с GNU ld, чтобы mold мог стать линкером по умолчанию в Linux-дистрибутивах.

https://github.com/rui314/mold

Читать полностью…

Rust

Одна задача, три языка: Rust, C# или C++?

В курсе Google *Comprehensive Rust* есть упражнение: найти длину трёхмерного вектора, а затем нормализовать его. Формула одна: √(x² + y² + z²). После этого каждую координату делим на полученную длину.

На скриншотах хорошо видна разница в стиле:

- Rust: iter().fold() собирает сумму квадратов, iter_mut() меняет координаты.
- C#: ReadOnlySpan для чтения, Span для изменения и обычный foreach.
- C++: std::vector, цикл по значениям для расчёта и по ссылкам для изменения.

Для тех, кто пишет на C#: Rust fold(0.0, ...) по смыслу близок к LINQ Aggregate(0.0, ...): оба сворачивают последовательность в одно значение через аккумулятор.

Чей вариант вам понятнее с первого взгляда?

@csharp_ci

Читать полностью…

Rust

🦀 Rust 1.99 научился определять C-совместимые variadic-функции

Теперь в стабильном Rust можно писать функции с extern "C" и переменным числом аргументов через ....

Раньше Rust умел вызывать такие C-функции, например printf, а теперь их можно реализовывать прямо на Rust.

Что появилось:
- extern "C" fn(... )
- VaList, ABI-совместимый с C va_list
- VaArgSafe для контроля типов аргументов
- поддержка C-unwind

Особенно полезно для FFI, системного кода и библиотек, которые должны экспортировать C API.

Фича стабилизирована в Rust 1.99.0, релиз вышел 1 октября.

rustup update stable

blog.rust-lang.org/2026/10/01/Rust-1.99.0/

Читать полностью…

Rust

🦀 Qt открывает Rust полноценный путь к кроссплатформенному UI

Qt представила Qt Bridge for Rust = слой, который позволяет писать логику приложения на Rust и напрямую подключать её к Qt Quick/QML без ручного FFI и C++-кода в проекте.

Что это даёт:

- Rust для application logic;
- QML для интерфейса;
- hardware acceleration;
- Linux, macOS и Windows;
- безопасный Rust API;
- интеграцию через привычные struct, traits и attribute macros.

Под капотом bridge генерирует Qt-обёртки для Rust-типов на этапе компиляции, поэтому их можно использовать прямо из QML.

Сейчас Rust Bridge находится в public beta. Пока для сборки всё ещё нужен C++ toolchain и qmake, но пользовательский код при этом остаётся полностью без C++.

По сути, Qt предлагает Rust-разработчикам зрелый UI-стек вместо необходимости ждать, пока нативные Rust GUI-фреймворки догонят Qt по возможностям.

Статья: https://www.qt.io/blog/rust-ui-framework-via-bridging-technology

Читать полностью…

Rust

🦀 Как доказать, что Rust-код работает правильно: Amazon рассказывает о Verus

Rust предотвращает многие ошибки работы с памятью, но программа всё ещё может вернуть неверный результат. Verus позволяет проверить, что реализация соответствует формально заданным требованиям для всех допустимых входных данных.

Разработчик описывает прямо в исходниках:

* requires - условия перед выполнением функции.
* ensures — свойства результата.
* Инварианты циклов и вспомогательные доказательства.

Дальше Verus автоматически проверяет доказательство, а разработчик при необходимости помогает ему.

В статье есть показательный пример с бинарным поиском. Недостаточно потребовать: «Если вернулся индекс, по нему находится нужный элемент». Такому условию соответствует функция, которая всегда возвращает None.

Нужно добавить второе требование: если вернулся `None`, искомого элемента действительно нет в массиве.

Amazon уже использует Verus для проверки ключевых примитивов Nitro Isolation Engine, отвечающего за изоляцию виртуальных машин. Инструмент также позволяет доказывать свойства конкурентного кода и безопасность поддерживаемых конструкций unsafe.

Гарантии относятся к заданной спецификации и принятым допущениям: полнота самих требований остаётся ответственностью разработчика.

📖 https://www.amazon.science/blog/developing-provably-correct-rust-code-with-verus

#Rust #Разработка #FormalVerification

Читать полностью…

Rust

Rust без аллокатора: `fff` снизил пиковое потребление памяти через `mmap`

Во время тестирования fff обнаружилось, что при создании большого Vec<u64> процесс потребляет заметно больше оперативной памяти, чем требуется для индекса.

Причиной оказался аллокатор, который мог резервировать лишнюю память при работе с крупными буферами.

Теперь на Unix-системах fff выделяет память напрямую через mmap:

* рассчитывает точный объём памяти
* округляет его до размера системной страницы
* создаёт приватное анонимное отображение
* работает с данными через *mut u64
* освобождает память вызовом munmap

На остальных платформах по-прежнему используется обычный Vec<u64>.

В результате fff запрашивает у ядра ровно столько страниц, сколько необходимо для хранения и обработки индекса.

Читать полностью…

Rust

🦀 Rust Pinning без магии: `Pin`, `Unpin` и `Future::poll`

Одна из самых сложных тем в Rust - зачем вообще нужен Pin и почему некоторые значения нельзя просто перемещать в памяти.

Хороший разбор строит механизм буквально с нуля и связывает его с тем, что реально встречается в async Rust:

- как работает Pin
- что означает Unpin
- почему self-referential структуры опасны
- при чём здесь Future
- почему Future::poll принимает Pin<&mut Self>

Главная идея: некоторые значения после начала использования должны оставаться по одному адресу в памяти, иначе внутренние ссылки могут стать невалидными.

Особенно полезно тем, кто пользуется async/await, но до конца не понимает, что происходит под капотом.

https://gmcgoldr.github.io/2026/08/27/pin-in-rust.html

Читать полностью…

Rust

🔥 Большой гайд по миграции с Go на Rust

Для разработчиков переход обычно упирается не в скорость, а в гарантии корректности, runtime trade-offs и ergonomics.

Внутри подробно сравниваются:

go build → cargo build
go test → cargo test
go vet → cargo clippy
nil → Option<T>
error → Result<T, E>
interfaces → traits
goroutines → async/await
-race → compile-time ограничения через Send / Sync

Отдельно хорошо показано, где Rust действительно выигрывает: data races, lifetime ресурсов, typed errors, отсутствие GC-пауз и более жёсткие гарантии компилятора.

Но автор не агитирует переписывать всё подряд: для большинства backend-сервисов Go остаётся достаточно быстрым и очень удобным.

Rust имеет смысл там, где цена runtime-багов уже выше, чем цена более сложной разработки.

Есть и практический раздел про постепенную миграцию сервисов, а не «rewrite from scratch».

https://corrode.dev/learn/migration-guides/go-to-rust/

@Golang_google

Читать полностью…

Rust

🦀 Rustler Weekly.

Главная новость: Microsoft перевела Rust в категорию Tier-1 - на один уровень с C++, C# и TypeScript. Новый backend связывает rustc с MSVC, поддерживает оптимизации между Rust и C++, усиленную защиту бинарников и hotpatch. Rust уже используется более чем в 100 внутренних репозиториях Microsoft.

Ещё один показательный случай: один lint в Clippy съедал до 25% времени работы. После небольшой переработки он стал быстрее в 3133 раз.

Также в выпуске - сравнение семи async runtime, опрос 2300 Rust-разработчиков, разбор лучших MCU для Rust, ESP32 как SWD-программатор для STM32 и свежие вакансии.

http://rustler.in/newsletter

Читать полностью…

Rust

Ubuntu 26.10 полностью переведён на Rust Coreutils

В пакетной базе дистрибутива Ubuntu 26.10, релиз которого намечен на 15 октября, осуществлён полный переход на инструментарий uutils coreutils (Rust Coreutils), написанный на языке Rust. Утилиты из состава Rust Coreutils полностью заменили все компоненты пакета GNU Coreutils, включая утилиты cp, mv и rm, которые в Ubuntu 26.04 поставлялись в варианте из GNU Coreutils.

Подробнее:
https://opennet.ru/66274/
https://opennet.me/66274/

Читать полностью…

Rust

🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку

Можно годами смотреть курсы, читать документацию и всё равно топтаться на месте.

А можно попасть в правильное окружение, где каждый день обсуждают новые инструменты, вакансии, реальные кейсы, ошибки и то, что уже завтра станет стандартом.

Здесь собраны папки и каналы по разным направлениям IT, чтобы ты быстрее находил нужных людей, идеи и полезный контент - без бесконечного поиска.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подпишись и сохрани, здесь регулярно появляются новые подборки, инструменты и материалы, которые реально помогают расти быстрее.

Читать полностью…

Rust

👣 Rust стал одним из основных языков разработки внутри Microsoft - наряду с C++, C# и TypeScript.

Компания обеспечила ему полноценную поддержку: от инструментов для программистов до проверок безопасности и выпуска готового ПО.

Для Rust также подготовили общий с C++ механизм генерации машинного кода в Windows. Это позволяет использовать возможности MSVC для оптимизации, отладки и защиты программ на обоих языках.

С новой системой уже собираются более 100 репозиториев Microsoft. Сам Rust применяется в драйверах, ядре, микросервисах и приложениях.

https://rustfoundation.org/media/guest-post-rust-is-tier-1-language-at-microsoft/

Читать полностью…

Rust

🌀 upmd превращает обычный Markdown в исполняемый workflow

Можно держать инструкции, команды, зависимости и вывод терминала прямо в одном `.md`-файле, а code blocks запускать как связанные между собой задачи.

Получается что-то между документацией, task runner и живым dev-ноутбуком без отдельного YAML-конфига.

Проект написан на Rust и построен на Ratatui.

⭐ GitHub: https://github.com/rezigned/upmd

Читать полностью…

Rust

Rust 1.98.1 вышел всего с одним исправлением, но довольно неприятным.

В Rust 1.98.0 нашли ошибку компилятора при генерации vtable для trait objects.

В некоторых случаях rustc мог поставить null вместо указателя на функцию внутри vtable. Результат - undefined behavior в уже скомпилированной программе. На практике это могло закончиться обычным segfault, но формально последствия UB ничем не ограничены.

Если уже обновились до Rust 1.98.0, лучше сразу поставить 1.98.1:


rustup update stable


Новых возможностей в релизе нет - это именно срочный point release с исправлением miscompilation.

https://blog.rust-lang.org/2026/09/03/Rust-1.98.1/

Читать полностью…

Rust

🦀 Burn 0.22: меньше дженериков, быстрее сборка и почти вдвое меньше VRAM в тесте CNN.

Фреймворк глубокого обучения на Rust убрал параметр бэкенда из пользовательских моделей:


// Было
struct Model<B: Backend> {
linear: Linear<B>,
}

// Стало
struct Model {
linear: Linear,
}


Теперь место и способ выполнения выбираются через Device. Изменение модели затрагивает меньше кода при перекомпиляции.

Пересборка после правки модели в замерах команды:

• CNN: 28,42 → 4,57 с, ускорение в 6,2 раза.
• Transformer: 14,73 → 1 с, ускорение в 14,7 раза.

В тесте обучения CNN на RTX 4050 Laptop, FP32 пропускная способность выросла на 80%, а пиковая VRAM после прогрева снизилась с 956 до 486 МиБ. Для Transformer экономия памяти составила около 18%. Это результаты конкретных тестовых моделей.

Также добавили LoRA и QLoRA, раннюю поддержку экспорта в ONNX, удалённые вычисления и повторное исполнение GPU-графов.

Обновление ломает совместимость API: Candle удалён, NdArray и LibTorch объявлены устаревшими.

https://tracel.ai/blog/release-0.22.0/

@machinelearning_ru

Читать полностью…

Rust

🦀 Rust дайджест за неделю: новый релиз, быстрее компилятор и собственные зелёные потоки

⚡ Rust 1.99.0 вышел
Теперь можно писать функции с переменным числом аргументов и C ABI прямо на Rust. Стабилизированы Vec::into_parts и Vec::from_parts для работы с буфером вектора.

https://blog.rust-lang.org/2026/10/01/Rust-1.99.0/

🔢 Const generics получают новый дизайн
На nightly развивается Generic Const Arguments, будущая замена generic_const_exprs. Больше возможностей для выражений с generic-параметрами, но пока с ограничениями: арифметика вроде N + 1 ещё не поддерживается в gca!.

https://blog.rust-lang.org/inside-rust/2026/10/02/generic-const-args-and-you/

🧵 Зелёные потоки своими руками
Учебный runtime менее чем в 1000 строк: собственные стеки, сохранение регистров и переключение контекста на ARM64. Отличный разбор того, как несколько задач делят потоки ОС.

https://dzania.github.io/green-threads-from-scratch/

🚀 Ускорение rustc становится работой на полный день
Ник Нетеркоут присоединился к Hexcat для оптимизации компилятора. За предыдущие два месяца команда сократила среднее время компиляции в бенчмарках на 4,57%.

https://nnethercote.github.io/2026/09/30/how-to-speed-up-the-rust-compiler-in-september-2026.html

📟 Rust без операционной системы
Embassy позволяет запускать `async`-задачи прямо на микроконтроллерах, без традиционной RTOS. Таймеры, сеть, USB и работа с периферией уже входят в экосистему.

https://github.com/embassy-rs/embassy

🤖 Rustler запустил MCP-сервер
Поиск Rust-вакансий, репозиториев, issues и событий прямо из Claude, Cursor и других MCP-клиентов.

https://mcp.rustler.in/mcp/

Читать полностью…

Rust

Выпуск Rust 1.99.0. Microsoft перевёл Rust в число первичных языков

Опубликован релиз языка программирования Rust 1.99, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Подробнее:
https://opennet.ru/66386/
https://opennet.me/66386/

Читать полностью…

Rust

ИИ-агенты могут разгонять Rust-код быстрее SOTA-библиотек

Макс Вулф провёл серию экспериментов с Claude, Codex и GPT-6 Astra, заставляя агентов не просто писать код, а итеративно оптимизировать его по бенчмаркам, пока ускорение не перестанет расти.

Схема простая:

- фиксируем baseline;
- ставим измеримую цель, например минимум +20% скорости;
- после каждого изменения запускаем criterion;
- запрещаем unsafe и манипуляции с тестами;
- отдельно проверяем качество результата;
- подключаем несколько subagents для поиска альтернативных оптимизаций.

Результаты получились серьёзные.

Rust-реализация UMAP оказалась:

- в 4-15 раз быстрее `umap-learn`
- в 2-4 раза быстрее `umap-rs`
- суммарное ускорение относительно первоначальной реализации достигало 7,5-32x

Но есть важный нюанс: агенты умеют читерить.

В одном из экспериментов Claude показал ускорение в 34 500 раз, просто отключив физический движок.

Поэтому для таких систем критически нужны:

- benchmark-gates;
- regression-тесты;
- quality-checks;
- жёсткие ограничения на допустимые изменения.

https://minimaxir.com/2026/09/agentic-iteration/

Читать полностью…

Rust

Как создать пустой vector по-гениальному

Читать полностью…

Rust

❌В IT сейчас кризис джунов, но только не в кибербезе.
❗️Рынку не хватает 50 000 специалистов.

В информационной безопасности - аномальный кадровый голод. Компании готовы брать людей без опыта и растить их внутри, потому что масштаб кибератак растет в геометрической прогрессии, а 96% бизнеса имеют критические уязвимости.

Но как понять, подходит ли вам эта сфера, не тратя месяцы и сотни тысяч на обучение?

✅ Начните с базы.
🦔 Академия CyberYozh открыла доступ к бесплатному курсу Кибербезопасность в цифровой эре.

Это тест-драйв профессии через призму вашей личной безопасности.

Вы узнаете:
🛡 Как устроены современные атаки и почему данные утекают терабайтами.
🛡 Как мыслят хакеры и безопасники.
🛡 С чего начать зачистку собственного цифрового следа.

Пройдите бесплатную базу, защитите свои аккаунты и решите - возможно, кибербез - это та самая карьера, которую вы искали.

👉 Начать погружение бесплатно

Читать полностью…

Rust

🦀 NVIDIA официально идёт в native GPU programming на Rust

Теперь CUDA Rust позволяет писать GPU kernels прямо на Rust и компилировать их в PTX - без необходимости держать kernel-код на C++ или другом языке.

NVIDIA развивает сразу два подхода:

SIMT через `cuda-oxide`
- привычная CUDA-модель: один thread → одна операция
- полный контроль над потоками и памятью
- custom rustc backend → MIR → LLVM → PTX
- memory safety проверяется на этапе компиляции

Tile через `cutile-rs`
- работа не с отдельными потоками, а с блоками данных
- компилятор сам решает, как разложить вычисления по GPU
- stable Rust 1.89+
- CUDA 13.3
- уже используется в Hugging Face Grout и mistral.rs


Ownership и типы позволяют ловить часть GPU race conditions и aliasing-ошибок ещё до запуска kernel.

NVIDIA прямо пишет, что в 2026 году начинает всерьёз развивать CUDA Rust и планирует наращивать поддержку в 2027+.

Пока оба проекта ранние и не production-ready, но направление очень показательное:

`Rust → native GPU kernels → PTX → CUDA`

https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/

Читать полностью…

Rust

Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250 000 рублей.

Если тебе нравятся алгоритмы, структуры данных и задачи на чистую логику — участвуй в алгоритмическом треке с индивидуальным зачетом.

Решай задачи разного уровня сложности: от базовых до тех, что проверяют скорость мышления и умение оптимизировать решения за ограниченное время.

В финале лучшие 120 участников алгоритмического трека сразятся в лайв-кодинге за шесть призовых мест и 2 750 000 рублей. Всех финалистов ждут:
— Лимитированный мерч;
— Сертификаты об участии;
— Масштабное мероприятие с выступлениями хэдлайнеров и фестивальными активностями.

Успей зарегистрироваться и пройти отборочный этап до 27 сентября.

Erid: 2VSb5xSd2i6

Читать полностью…

Rust

Если бы только был способ избежать этого.

Читать полностью…

Rust

🔥 LeetCode прямо в терминале, без браузера

leetrs — TUI-клиент для LeetCode, в котором можно искать задачи, открывать их, писать решения, запускать тесты и отправлять код на проверку прямо из терминала.

Есть fuzzy search, интеграция с Neovim, запуск тест-кейсов и submit на LeetCode.

Проект написан на Rust и использует ratatui.

GitHub: github.com/shadowmkj/leetrs

Читать полностью…

Rust

⚡️ Одинаковый async/await - разное поведение программы

Исследователи Brown University сравнили семь реализаций асинхронности: JavaScript, C#, Swift, Tokio, Smol, Asyncio и Trio. Ни одна пара не показала полностью одинаковую семантику.

В простом 12-строчном примере функция запускает фоновую запись в лог и завершает работу. Результат зависит от среды:

* JavaScript: AC
* C#: C
* Tokio: ACB
* Swift: AC
* Trio: ABC

Авторы выделили девять параметров, влияющих на выполнение: ленивость, гарантии приостановки, время жизни задачи, сила ссылок, уничтожение, передача исключений, обработка отмены, её направление и сохранение задачи.

Особенности Rust:

* вызов async fn только создаёт Future - выполнение начинается после опроса через runtime
* задача не получает внутренний сигнал отмены, как в Swift или Python с Trio

Одинаковый синтаксис скрывает разные правила запуска, отмены и завершения задач.

http://cel.cs.brown.edu/blog/design-space-async-await

Читать полностью…

Rust

Rust-компилятор случайно замедлил WebAssembly-интерпретатор на 50% - и поиск этой причины стал главным ускорением Wasmi 2.0.

Wasmi 2.0 вышел сегодня и теперь работает примерно в 2,2 раза быстрее версии 1.0. Его используют Typst, Zellij, Stellar Soroban и Ripple.

Во время бенчмарков разработчик заметил, что другой интерпретатор, Stitch, потерял около 30% скорости между Rust 1.91 и 1.92.

Причина оказалась в MIR-оптимизации, которую Rust 1.92 включил по умолчанию. Она объединила два отдельных пути dispatch в одну точку ветвления.

Обычно такая оптимизация полезна. Но здесь она сломала предсказание переходов CPU: вместо двух веток с понятной историей процессор получил одну с перемешанным поведением.

После исправления Stitch вернул скорость. Потом ту же проблему нашли и в Wasmi.

Результат: CoreMark вырос примерно с 2800 до более 4200.

Что ещё появилось в Wasmi 2.0:

- accumulator registers, чтобы чаще держать операнды прямо в регистрах CPU
- lock-free карта функций без лишних lookup при вызовах
- SIMD без прежнего штрафа в 5-10% просто за факт включения

Очень показательный случай, когда «оптимизация» компилятора делает код медленнее, а реальная причина лежит уже на уровне branch predictor процессора.

http://wasmi-labs.github.io/blog/posts/wasmi-v2.0

Читать полностью…

Rust

🦀 Rust для game hacking: внешний ESP и overlay-интерфейсы

Вышла 5-я глава курса по Rust Game Hacking.

Разбирают:

- прозрачные overlay-окна поверх игры
- модульный UI через closures
- асинхронное отслеживание положения и размера окна
- архитектуру внешнего ESP без внедрения интерфейса прямо в игровой процесс

Полезный материал для тех, кто изучает Rust, low-level UI и работу с окнами в реальном времени.

https://guidedhacking.com/threads/rust-external-esp-rgh105.21347/

Читать полностью…

Rust

⚡️ Интерактивные flowcharts прямо в терминале

rataflow — open source-библиотека на Rust для создания node-based интерфейсов прямо в TUI.

Поддерживает:

— перетаскивание нод
— соединения между блоками
— pan и zoom
— автоматические layouts
— интерактивное управление

Проект построен поверх Ratatui, так что полноценный визуальный редактор может работать вообще без браузера и GUI.

Live demo: https://rataflow.furkankly.dev

GitHub: https://github.com/furkankly/rataflow

Читать полностью…

Rust

🦀 Анонс rustup 1.29.1

Главное:


- rustup update теперь проверяет обновления параллельно
- несколько компонентов через rustup component add устанавливаются одновременно
- rustup doc --serve поднимает локальный HTTP-сервер с документацией
- добавлена официальная поддержка aarch64-pc-windows-gnullvm
- исправлены проблемы установки на Windows
- отменённые установки больше не оставляют неожиданные файлы на диске
- термин target triple заменили на target tuple

Обновиться:

rustup self update

или обычным:

rustup update

https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/

Читать полностью…
Subscribe to a channel