Size: a a a

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

2020 September 02

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Стримы совместимы, насколько я помню.
источник

H

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

H

Heorhi in Rust — русскоговорящее сообществo
и вот я пришел к моменту когда мне надо транслировать futures::Sink в tokio::UnboundedSender и я прямо чуствую, что гдето свернул не туда
источник

H

Heorhi in Rust — русскоговорящее сообществo
я помню приходилось использовать async-std и там какаято еще большая жесть случалась
источник

P

Pavel in Rust — русскоговорящее сообществo
Goga Asoka
У меня просто цикл, пытающийся расшифровать 50 000 сообщений чужим приватным 4096 битным ключом, как тест. Пока, то что я написал выполняется 4.5 мин. Не знаю, на сколько сильнее можно это оптимизировать и имеет ли смысл
прогнать perf-ом и проверить где горячо внутри
источник

P

Pavel in Rust — русскоговорящее сообществo
скорее всего макс нагрузка на расшифровке и в обвязке можно выжать копейки, тем более, что 50к итераций это достаточно мало
источник

Д

Дима in Rust — русскоговорящее сообществo
Goga Asoka
У меня просто цикл, пытающийся расшифровать 50 000 сообщений чужим приватным 4096 битным ключом, как тест. Пока, то что я написал выполняется 4.5 мин. Не знаю, на сколько сильнее можно это оптимизировать и имеет ли смысл
асимметрия на факторизации - это медленно
похоже на пгп по описанию

если возможно, тогда рекомендую заменить на ntru
источник

Д

Дима in Rust — русскоговорящее сообществo
вообще делается диффи-хелман и от него уже идёт движение при обмене сообщениями
источник
2020 September 03

Д

Дима in Rust — русскоговорящее сообществo
Goga Asoka
У меня просто цикл, пытающийся расшифровать 50 000 сообщений чужим приватным 4096 битным ключом, как тест. Пока, то что я написал выполняется 4.5 мин. Не знаю, на сколько сильнее можно это оптимизировать и имеет ли смысл
кстати скорость вполне адекватная, я нашёл в интернете бенчмарки, примерно за столько и должен раскладываться rsa

либо уменьшать битность, либо выбрать другой алгоритм асимметричного шифрования
источник

Д

Дима in Rust — русскоговорящее сообществo
Дима
вообще делается диффи-хелман и от него уже идёт движение при обмене сообщениями
данный протокол позволяет шифровать только симметричной криптографией, используя асимметричную только при обмене ключами, так что скорость вырастет в разы при выборке из 50000 сообщений принадлежащим одной паре людей

групповой диффи-хелман имеет некоторые ограничения

короче, тут целый учебник по криптографии надо писать, чтобы разъяснить че да как
источник

P

Pavel in Rust — русскоговорящее сообществo
Дима
данный протокол позволяет шифровать только симметричной криптографией, используя асимметричную только при обмене ключами, так что скорость вырастет в разы при выборке из 50000 сообщений принадлежащим одной паре людей

групповой диффи-хелман имеет некоторые ограничения

короче, тут целый учебник по криптографии надо писать, чтобы разъяснить че да как
он сообщения расшифровывает, а не канал связи устраивает
источник

Д

Дима in Rust — русскоговорящее сообществo
Pavel
он сообщения расшифровывает, а не канал связи устраивает
сообщения передаются в канале связи)
источник

P

Pavel in Rust — русскоговорящее сообществo
Дима
сообщения передаются в канале связи)
чёт мне подсказывает, что они у него в бд лежат
источник

P

Pavel in Rust — русскоговорящее сообществo
или в файле
источник

P

Pavel in Rust — русскоговорящее сообществo
55 | impl<T: Hittable, B: AsRef<T> + Debug + Sync> Hittable for B {
  |      ^ unconstrained type parameter

чёт не очень понимаю, казалось бы, вон же оно, ограничено через B, ан нет. И как это обойти?
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Pavel
55 | impl<T: Hittable, B: AsRef<T> + Debug + Sync> Hittable for B {
  |      ^ unconstrained type parameter

чёт не очень понимаю, казалось бы, вон же оно, ограничено через B, ан нет. И как это обойти?
У тебя может быть конкретный тип B, который имплементит AsRef<A> и AsRef<B>, причем и A и B имплементят Hittable, в таком случае будет непонятно какую выбирать имплементацию. "Обходится" это заменой AsRef на какой-нибудь другой трейт, который вместо генерика будет иметь associative type.
источник

Ct

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

P

Pavel in Rust — русскоговорящее сообществo
Casual tears
У тебя может быть конкретный тип B, который имплементит AsRef<A> и AsRef<B>, причем и A и B имплементят Hittable, в таком случае будет непонятно какую выбирать имплементацию. "Обходится" это заменой AsRef на какой-нибудь другой трейт, который вместо генерика будет иметь associative type.
понял, спасибо
источник

АМ

Александр Маглеванны... in Rust — русскоговорящее сообществo
Александр
С таким подходом многопоточку вообще бы никто тогда не писал)
Так многопоточка - это параллельное исполнение, а не конкурентное.
источник

H

Hirrolot in Rust — русскоговорящее сообществo
Александр Маглеванный
Так многопоточка - это параллельное исполнение, а не конкурентное.
А разве два потока ОС обязательно параллельно исполняются?
источник