Loyd
А так бы можно было бы подумать
Vlad
Loyd
=)
Αλεχ
Αλεχ
вообще я всегда into_iter пишу, зачем 2 метода писать, если есть один, специально для этого случая?
Αλεχ
Αλεχ
будь я не в дс и не будь я шарпистом, я б к вам тоже запилился
Αλεχ
собсна я думал
Αλεχ
но у вас везде жабу требовали, даже в тимсити
Vlad
Так у нас котлин))))
Loyd
О том и речь
Αλεχ
(((Sergey(not seresha))
Есть функция, которая принимает итератор, есть ли разница при передачи этих конструкций, если обе принимаются как валидные?
Αλεχ
только поприличнее
Αλεχ
Aleksey
Что можно почитать про rust в плане оптимизации по размеру. Можно ли на rust получить бинарь без оверхеда под линукс к примеру или rust мелочами не занимается, а на больших программах оверхед не заметен? Пока гугл подсказал как хелловорлд с 5 мегабайт ужать до 380 кб.
Alexander
Мне кажется, это вопрос не к Rust'у а к линкеру...
Anton
День сурка =)
Berkus
Berkus
но как обычно, отрубать жемаллок и все такое - у жапарика по-моему была статья про это
Berkus
если сделал закладку, ща найду
Alex
jemalloc уже не в расте не?
Cat
Ещё в расте
Berkus
Cat
Нужна статья, где чувак hello world на рокет оптимизировал по размеру
Alex
Alex
вроде убрали не?
Cat
Cat
Berkus
https://stackoverflow.com/questions/29008127/why-are-rust-executables-so-huge статью еще не нашел но вот -C prefer-dynamic если хочется больше боли
Roma
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html про раст; https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html про elf в целом от ебанутых
պլհկ
https://github.com/rust-lang/rust/issues/36963
Ivan
о, интелли-ж-руст опять обновился...
Ivan
а какой именно эмбеддед?
Nikita
Ivan
если современный линуксовый, то ИМХО там уже и бинарники в писят мегабайт - не проблема совершенно
Stanislav
например
Ivan
сразу и бинарник меньше, и динамический расход памяти меньше
Alex
Ivan
если код правильно писать
Stanislav
Aleksey
Я конечно понимаю, что есть малинка или там платы от nxp, они тоже ембеддед, но там динамически слинковать не проблема. А вот какойнить stm32 это совершенно иной расклад. И размер еще не самая большая проблема. LTO пробую, но пока особых успехов нет.
Stanislav
Aleksey
Berkus
Ivan
там же ещё дебагинфо скорее всего внутри
Ivan
так то если хелловорлд на "идиоматических плюсах" собрать статически с libstdc++, без оптимизаций и с дебажной инфой, то примерно так же выйдет ИМХО
Chebyrash
Ivan
ну прямо резать её смысла нет
Ivan
труЪ способ - убрать в отдельный файл
Ivan
ибо может пригодиться
Alex
Nikita
дебажные символы можно класть в отдельный файл
Nikita
просто обычно этим с gcc не занимаются, но тем не менее можно
Ignat
хз насчёт не занимаются, в дебьянах это дефолтный подход для получения дебажных символов
Ivan
и в rhel/centos/fedora/etc.
Ivan
процедура извлечения debuginfo в оттдельные файлы (и отдельные пакеты соответственно) уже автоматизирована как часть процесса сборки пакетов
Loo
Loo
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html
Loo
https://m.habr.com/post/305246/
kitsu
Vlad
В IntelliJ-Rust перфоманс завезли, срочно обновляйтесь https://intellij-rust.github.io/2018/07/11/changelog-78.html
Kerrigan
сегодня попробую
Антон
Антон
А, это тут не работает
Nikita
тут вам не здесь
Nikita
stdlib меняется
Nikita
чем дальше, тем жырнее
Ignat
Щас бы не применять динамическую линковку
Ignat
Я думал, это у го-даунов только популярно
Nikita
реально - около 500 кил вроде на hello world сейчас без сжатия
Ignat
Мда.