These are chat archives for dev-ua/rust

24th
Mar 2016
Luda Lukashevskaya
@lud4ik
Mar 24 2016 16:42
а в расте можна написать трудноотлавливаемый баг, связанный с паралельностью, ченелами?
локами
Ruslan Shevchenko
@rssh
Mar 24 2016 16:43
вобще - если у вас есть channel-ы, знаяит у вас появляется возможность сделать ими деадлок
Luda Lukashevskaya
@lud4ik
Mar 24 2016 16:49
ну с локами оно само вставляет на этапе компиляции когда отпустить, если я правильно помню
а вот с ченелами защит никаких нет?
а как вообще в расте дебаг проверить что сколько памяти занимает и типа если сравнить с go
там есть штука с трейсом горутин, и можна собрать сепмлинг, с каком месте кода у тебя больше всего времени проводилось
Luda Lukashevskaya
@lud4ik
Mar 24 2016 17:01
мне уже сегодня настроение испортили, так что если кто захочет ответить, не нада проблемы go адресовать в мой личный счет
Luda Lukashevskaya
@lud4ik
Mar 24 2016 17:07
а чем вы определяете качество каково-то проекта? Ну типа из прочитанных цитат:
  • инструмент решает одну задачу и хорошо
  • разбит на микросервисы
работает и без программиста
Paul Colomiets
@tailhook
Mar 24 2016 17:07

Ну трудноотлавливаемый баг написать можно. Например, можно легко получить deadlock как на каналах, так и на Mutex'ах.

Другое дело, что классов трудноотлавливаемых багов в Rust'е меньше: нет конкурентных мутаций map'ов, почти нет race-condition'ов и т.д.

Luda Lukashevskaya
@lud4ik
Mar 24 2016 17:08
а "почти нет", а где есть?
Paul Colomiets
@tailhook
Mar 24 2016 17:08
где есть race-condition'ы в rust'е?
Luda Lukashevskaya
@lud4ik
Mar 24 2016 17:09
да
Paul Colomiets
@tailhook
Mar 24 2016 17:11
Ну никто тебе не мешает AtomicUint неправильно использовать... или мутировать два объекта Mutex<Something> в неправильной последовательности