Size: a a a

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

2020 October 17

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Но тут есть тот момент, что «идиоматичный» раст — это каша из дженериков с соусом из процмакросов
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Но тут есть тот момент, что «идиоматичный» раст — это каша из дженериков с соусом из процмакросов
Нет конечно
источник

Э

Эрик in Rust — русскоговорящее сообществo
polunin.ai
Ну в расте парсинг текста занимает не слишком уж много времени, бОльшую часть кодогенерация все же.
Решение лайфтаймов и вывод типов.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
polunin.ai
Нет конечно
См. serde, например.
источник

Э

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

p

polunin.ai in Rust — русскоговорящее сообществo
Эрик
Решение лайфтаймов и вывод типов.
Кодогенерация больше занимает) включая макросы и генерация LLVM IR
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Эрик
Плюс, генерация функции на каждый генерик и попытка эту функцию оптимизировать в инлайнинге.
Все ещё очень мало
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Или rand — тупо на генерацию рандома используется пять трейтов
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Или rand — тупо на генерацию рандома используется пять трейтов
Пять трейтов это нихуя
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
polunin.ai
Пять трейтов это нихуя
Пять трейтов это ровно на пять больше, чем использует стдлиба C++.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Хотя вот в телоксиде с компиляцией проблемы, но когда мы пытались выяснить причины, не смогли... Вроде макросы долго раскрывались но попытки найти корень проблемы оказались тщетными
источник

Э

Эрик in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Пять трейтов это ровно на пять больше, чем использует стдлиба C++.
Там трейтов нет, но там макросы.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Про макросы я вообще молчу, строку на экран нельзя удобно без макросов вывести.
Кастомные дерайвы везде.
источник

Э

Эрик in Rust — русскоговорящее сообществo
polunin.ai
Хотя вот в телоксиде с компиляцией проблемы, но когда мы пытались выяснить причины, не смогли... Вроде макросы долго раскрывались но попытки найти корень проблемы оказались тщетными
Что с размером функций, в которых сидят макросы?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Эрик
Что с размером функций, в которых сидят макросы?
Дерайв макросы*. В функциях макросов нету.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Если ты хочешь красивое апи для юзера библиотеки, ты будешь юзать процмакросы. Все так делают.
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Пять трейтов это ровно на пять больше, чем использует стдлиба C++.
Иди в оффтоп, пожалуйста
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я не вижу ничего оффтопного в обсуждении скорости компиляции.
Я утверждаю, что скорость непосредственно компиляции в Rust сравнима с C++, но распространённость в экосистеме процмакросов и tomaka-like дженериков её замедляет.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
polunin.ai
Ну в расте парсинг текста занимает не слишком уж много времени, бОльшую часть кодогенерация все же.
Юнит кодогенерации в Rust — один крейт.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
В C/++ — один файл.
источник