Size: a a a

Rust — русскоговорящее сообществo

2020 September 06

AZ

Alexander Zaitsev in Rust — русскоговорящее сообществo
Дима
почему AES такой медленный? 8 мегабайт - 4 секунды, а при включении параметров, типа sse2 - 1.5 секунд?

Я неправильно его готовлю? CBC или GCM 256, одинаково

Я из вектора передаю в encrypt() и выходит вот такое медленное чудо
либо safe, либо blazing fast. выбирай
источник

Д

Дима in Rust — русскоговорящее сообществo
Casual tears
Какую библиотеку используешь?
разные испробовал, думаю у меня руки кривые, в гугле нормальных примеров готового кода не увидел, пытаюсь подогнать
сейчас в проде
aes-gcm-siv = "0.5.0"

тестю
aes = "0.5.0"
источник

B

Bogdan in Rust — русскоговорящее сообществo
Дима
почему AES такой медленный? 8 мегабайт - 4 секунды, а при включении параметров, типа sse2 - 1.5 секунд?

Я неправильно его готовлю? CBC или GCM 256, одинаково

Я из вектора передаю в encrypt() и выходит вот такое медленное чудо
On a Pentium Pro, AES encryption requires 18 clock cycles per byte, equivalent to a throughput of about 11 Mbit/s for a 200 MHz processor.

похоже что у тебя процессор 400 MHz )
источник

Д

Дима in Rust — русскоговорящее сообществo
Bogdan
On a Pentium Pro, AES encryption requires 18 clock cycles per byte, equivalent to a throughput of about 11 Mbit/s for a 200 MHz processor.

похоже что у тебя процессор 400 MHz )
2.6ггц)
на виртуалке
источник

Д

Дима in Rust — русскоговорящее сообществo
Alexander Zaitsev
либо safe, либо blazing fast. выбирай
понял, щас попробую
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Дима
разные испробовал, думаю у меня руки кривые, в гугле нормальных примеров готового кода не увидел, пытаюсь подогнать
сейчас в проде
aes-gcm-siv = "0.5.0"

тестю
aes = "0.5.0"
Найди что-то с хардварной имплементацией. aes крейт вроде умеет судя по докам если aes и sse2 фичи включены.
источник

V

Vladimir in Rust — русскоговорящее сообществo
Дима
2.6ггц)
на виртуалке
Вообще проверь локально. https://gnupg.org/blog/img/libgcrypt-1.6.0-aesni-bench_s.png
И проверь доступные инструкции процессора на виртуалке.
источник

H

Hedgar in Rust — русскоговорящее сообществo
Подскажите плз, возможно ли для debug-сборки включить tail call optimization? Большие деревья валятся в debug'е со stack overflow, а в release нет :(
источник

VK

Vasily Kondratyev in Rust — русскоговорящее сообществo
Чисто теоретически, если так попробовать?
источник

VK

Vasily Kondratyev in Rust — русскоговорящее сообществo
источник

VK

Vasily Kondratyev in Rust — русскоговорящее сообществo
То есть подойти с другой стороны: не разрешить tail optimization в дебаге, а разрешить вывод отладочной информации в релизе 😆
источник

PH

Paul Holtvluwer in Rust — русскоговорящее сообществo
Переслано от Игорь
Где вы там баги находите?
Все норм лётает
источник

Э

Эрик in Rust — русскоговорящее сообществo
Hedgar
Подскажите плз, возможно ли для debug-сборки включить tail call optimization? Большие деревья валятся в debug'е со stack overflow, а в release нет :(
В расте вообще нет tail call optimization, если что. Просто в релизе чуть меньше памяти жрёт, вот и не падает.
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Эрик
В расте вообще нет tail call optimization, если что. Просто в релизе чуть меньше памяти жрёт, вот и не падает.
Или UB появляется
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Эрик
В расте вообще нет tail call optimization, если что. Просто в релизе чуть меньше памяти жрёт, вот и не падает.
Она есть в LLVM
источник

ВВ

Вадим Великодный... in Rust — русскоговорящее сообществo
источник

NM

Námo Morimando in Rust — русскоговорящее сообществo
Bogdan
ну вот я и думаю навернется ли раст с UB если MaybeUninit буфер юзать тут?)   хотя в тоерии отдали указтель по FFI а дальше все хорошо
В любом случае это плохой выбор. Отсутствие прямого контроля над априорным содержанием буфера не означает его криптографическую случайность. Лучше честно взять из системного rng
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Дима
2.6ггц)
на виртуалке
Может, у тебя соседи шумные?
источник

B

Bogdan in Rust — русскоговорящее сообществo
Hedgar
Подскажите плз, возможно ли для debug-сборки включить tail call optimization? Большие деревья валятся в debug'е со stack overflow, а в release нет :(
По моеиу это проблема алгоритма кривого, а не раста. Используйте поограммный стек
источник

B

Bogdan in Rust — русскоговорящее сообществo
Námo Morimando
В любом случае это плохой выбор. Отсутствие прямого контроля над априорным содержанием буфера не означает его криптографическую случайность. Лучше честно взять из системного rng
Так это и есть системный rng .... :c
источник