Size: a a a

2021 March 14

p

polunin.ai in rust_offtopic
все остальные тесты это кухонные разговоры
источник

MB

Mikail Bagishov in rust_offtopic
Есть конечно некоторая разница в идиомах
источник

p

polunin.ai in rust_offtopic
пришли два чувака на кухню обсуждать что быстрее раст или кресты основываясь на своем опыте
источник

MB

Mikail Bagishov in rust_offtopic
Например, по умолчанию в расте принято проверять корректность индексов, но зато в расте все мутабельные ссылки по умолчанию restrict
источник

МП

Мимо Проходящий... in rust_offtopic
polunin.ai
а других тестов не бывает
всё с тобой ясно. Единственный показательный тест - профилирование решения конкретной задачи на проде с поиском узких мест.
источник

МП

Мимо Проходящий... in rust_offtopic
Mikail Bagishov
Например, по умолчанию в расте принято проверять корректность индексов, но зато в расте все мутабельные ссылки по умолчанию restrict
я про лоулевельные оптимизации компилятора/линковщика - инлайнинг, эвристическая чистка nop-ов и т.п. Просто в плюсах это многие годы пилят. Вот так вот прям в расте с этим всё хорошо?
источник

AN

Alex Noname in rust_offtopic
Mikail Bagishov
Например, по умолчанию в расте принято проверять корректность индексов, но зато в расте все мутабельные ссылки по умолчанию restrict
Ещё нет, или уже да?
источник

MB

Mikail Bagishov in rust_offtopic
Alex Noname
Ещё нет, или уже да?
Ну, до LLVM  это пока не еще не доходит
источник

MB

Mikail Bagishov in rust_offtopic
Там было два блокера.
Во-первых, генераторы (точнее то, во что они раскрываются) нарушают stacked borrows
Во-вторых, LLVM багованно обрабатывал noalias.
источник

MB

Mikail Bagishov in rust_offtopic
С недавним апгрейдом до LLVM12 вторая проблема решена.
источник

s

suhr in rust_offtopic
Мимо Проходящий
я про лоулевельные оптимизации компилятора/линковщика - инлайнинг, эвристическая чистка nop-ов и т.п. Просто в плюсах это многие годы пилят. Вот так вот прям в расте с этим всё хорошо?
Лоулевельными оптимизациями занимается llvm, что для плюсов, что для раста.
источник

МП

Мимо Проходящий... in rust_offtopic
Логично. Я просто привык, что по старым гайдлайнам код на плюсах пишется с учётом "оптимизируемости"
источник

SP

Stanislav Popov in rust_offtopic
Мимо Проходящий
а что такое "разделять вектора на пространства через фаетомные типы" ?
с телефона писал опечатался. я говорил о фантомных типах. о чем то вроде https://docs.rs/euclid/0.22.2/euclid/ этот подход мне кучу нервов спас
источник

SP

Stanislav Popov in rust_offtopic
Мимо Проходящий
то есть если разобрать итоговые инструкции кода на раст и идентичного на плюсах, то разницы большой не будет, оба варианта одинаково эффективны?
только не показывайте это царю
источник

МП

Мимо Проходящий... in rust_offtopic
Stanislav Popov
с телефона писал опечатался. я говорил о фантомных типах. о чем то вроде https://docs.rs/euclid/0.22.2/euclid/ этот подход мне кучу нервов спас
так тут же просто алиасы типов, в го тоже есть алиасы. Или в чём то ещё тут фишка?
источник

SP

Stanislav Popov in rust_offtopic
ээм а как в го такое сделать?
источник

s

suhr in rust_offtopic
Мимо Проходящий
так тут же просто алиасы типов, в го тоже есть алиасы. Или в чём то ещё тут фишка?
Это не алиас, а параметризованный тип.
источник

s

suhr in rust_offtopic
То есть, Point<T, U> и Point<T, V> это два различных типа.
источник

s

suhr in rust_offtopic
Причём Point<T, U> не содержит значений типа U. U используется только для параметризации типа.
источник

p

polunin.ai in rust_offtopic
гении
источник