Павел @Pavel_Agafonov
Game Developer по образованию. Пописываю на Rust-е
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Game Developer, System Software Engineer
Junior
Rust
C++
Vulkan API
Computer graphics
Golang
gRPC
PostgreSQL
Redis
В крейте bytemuck есть функция cast_mut. Если без крейта хотите, то через касты указателей в unsafe-е.
Hidden text
Зато прыгать по указателям быстро ?
19 марта выходит обновление 1.6
Надо мерить. Всё зависит от
LIMIT
, если оно большое, то время на синхронизацию будет меньше, чем вычисления, соответственно на бенчмарки сильно не повлияет. Я бы составил таблицу с зависимостью времени отLIMIT
.Метод
init3
работает некорректно, так как он недетерминированный - результаты выполнения потоков объединяются в неопределенном порядке. Из-за этого результат методаinit3
может отличаться от результатов других методов. В данном случае необходима другая логика объединения результатов.По второй ссылке представлены другие варианты бага, например, вместо placeholder-а используется Option:
let f: fn(Option<&'d &'d ()>, &'c T) -> &'d T = foo;
(Сигнатура helper-а другая).Возникнуть теоретически может, если писать код с временами жизни и с вложенными ссылками, а не с
Rc<RefCell<T>>
:)