Matwey
Как перестать бояться и полюбить Nom?
Антон
A64m
сначала показалось, что Nim
Matwey
Но зачем?
Антон
Но зачем?
Чтобы осознать, что такое parser combinators
Alexander
хорошо, что не неформальное объединение молодежи
Matwey
https://www.youtube.com/watch?v=EdZrr3OtAGU
Loo
Антон
Alexander
да были тут соревновария по перекачиванию файла в /dev/null (грубо говоря)
A64m
ну, все-же у языков, которые используют ллвм как бекенд производительность кода получается не как у кланга, ллвм-ный оптимизатор тупит на всем, что как-то от плюсов отличается.
Антон
A64m
но у раста-то с этим не так много проблем как у ФЯ, конечно
Alexander
там преобразование внутри было
Alexander
cross product столбцов
Oleg
Cuno
Alexander
т.е. там попарсить, память повыделять похранить данные нужно было
Cuno
Шо значит "подход другой"?
Cuno
Оптимизатор знать не знает ни про какие владения и заимствования.
A64m
Растокод сильно от плюсов отличается?
не сильно но отличается же, оптимизатор затачивается на конкретный язык с конкретными идиомами, в такой ситуации шаг в сторону и можно сдорово с производительностью получаемого кода пролететь
Cuno
A64m
Cuno
Ну в общем-то тогда непонятно где там ожидания не оправдываются.
A64m
я не разбирался с производительностью раста, я просто знаю, в том числе и из опыта, что языки использующие оптимизатор для другого языка обычно с такими проблемами сталкиваются
A64m
потому мои ожидания в том заключаются, что производительность раста будет похуже плюсов с тем же бекендом, не считая других причин
A64m
если есть доказательства обратного, я, естественно такое мнение изменю
Антон
С чего бы? В идиоматичном Rust-коде ссылки не алиасятся
Антон
Например
Cuno
A64m
Антон
Cuno
https://github.com/rust-lang/rust/pull/31545
https://github.com/rust-lang/rust/issues/31681
Маjко
Нави
Не раньше сингулярности
А сингулярность штука вымышленная, да ещё и относительная, в некотором плане сингулярность уже наступила в прошлом)
Sergey
Evgenii
Recent Advances in Neural Program Synthesis https://arxiv.org/abs/1802.02353
Evgenii
Нави
вот автоматическое написание программ и создаст ту сингулярность, которую все так ждут)
После челловек оканчательно перейдёт в потребителя, ведь тысячи мозгочасов непоспеют за быстрым ускорением автоматики
Маjко
Max
Max
https://github.com/iron/iron/commit/9e5bccb407b1ec8daef51b0d7494627e5c5fc307
պլհկ
ну наконец-то
doc
https://github.com/ansible/ansible/issues/36095
Bugworm
Нави
такой банальный вопрос, как правильно передавать данные в отделльный поток?
let a = "qwerty";
thread::spawn(|| {
println!("{}", a);
});
Max
Arc, Mutex
Антон
Антон
Хотя, это зависит от ситуации
Нави
spawn(move || {
да, сработало
Cuno
Нави
пока цель лижбы работтало)
Маjко
Arc, Mutex
Это если шейрить надо, а не просто отправить владение
Антон
spawn(move || {
да, сработало
Просто учти, что тем самым ты владение a перемещаешь в замыкание, поэтому после спавна потока ты эти данные уже не получишь
Маjко
Нави
потоки запускаются внутри:
for x in cfg.markets.iter() {
и это другая проблема (указывает на.iter() ):
error[E0495]: cannot infer an appropriate lifetime for lifetime parameter in function call due to conflicting requirements
Нави
но это уже моя проблема встроил потоки в линейную последовательность наверно)
Нави
для структур переуступка не происходит, да же если заного создаю структуру:
let cfg = cfg_thr;
error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
Filipp
Чё за переуступка
Нави
...so that expression is assignable
Anonymous
Ребята можно учебник?
Anton
Нави
Раст не эрланг(((
պլհկ
Сюрприз
պլհկ
Попробуй го
Anton
Я думал гринтредов)
Нави
Легковесных процессов, да
Нави
Но расту изменять не стану)
Нави
Нави
Иначе бы плюсы или даже си