Денис
гуглани
Денис
там много нюансов есть
Cat
и ещё несколько других
Cat
часть есть тут: https://jamesmunns.com/blog/tinyrocket/ , но на самом деле это предварительные оптимизации (читай: не нужно), только если у тебя не микроконтроллер
⁣Денис
Объектный код никак не поменяется от наличия импортов
Ну просто меня смущает, что в документации пишут, что рантайма нет вообще, а даже программа состоящая из пустого main содержит 500 килобайт кода (под релизом)
Cat
в том понимании, которое в него вкладывают обычно
Маjко
Это не код, это дебагинфо
Cat
рантайм — у го (встроенный в бинарь), у джавы (JVM), у других языков с GC
Andrey
Кому-то и libc -- рантайм.
Cat
делайте статику, тогда бинарник будут значительно меньше (/sarcasm)
⁣Денис
в том понимании, которое в него вкладывают обычно
Ну да, как я понимаю - это всякие служебные функции для печати/обработки паники, которые и не вызываются наверное обычно, но оверхед на размер все же есть.
Маjко
Там только дебагсимволы
Маjко
Сделай стрип
Маjко
Плюс у тебя бинарь статика
Маjко
Линкуй динамически
Маjко
Если важен размер
Cat
короче тут всё есть: https://jamesmunns.com/blog/tinyrocket/
⁣Денис
То, что не юзается -- то не компилируется
Не, там всякие функции типа __ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h81ce664a9e75b28dE:
Судзумия
Anonymous
Тип такой есть
пищаль пита
Cat
а нет там нет nostd
так ему и не надо no_std
Anton
так ему и не надо no_std
у меня где то была линка с реализацие без стд
Cat
короче это всё преждевременные оптимизации и писькомерство
Маjко
так ему и не надо no_std
Интересно кого ебут лишние 500кб вне no_std 🤔 Под роутеры разве что писать
Cat
ну типо да, наверное
Cat
но в таком случае ты обычно уже приходишь с бекграундом c++
Маjко
И знаешь что такое линкер
Cat
и не задаёшь вопросов про размер рантайма
Маjко
BTW, я как-то чекал размеры в сравнении с хелловорлдом на Си
Маjко
default rust binary (with debuginfo): 4.5M stripped rust binary: 420K dynamic rust binary: 12K C binary with -O3: 8K C binary with -Os: 8K statis C binary (as were first 2 rust binaries): 636K
Cat
хм
Cat
т.е. 420 vs 640 (примерно)
Маjко
Я не уверен, что раст статически слинковался с libc, честно говоря
Cat
хм
Маjко
Тут интереснее смотреть на 12 vs 8
Cat
там в статье с маслом линкуют, нужно чекнуть размер
Anton
масол =)
Маjко
Это у меня на десктопе с glibc
⁣Денис
и не задаёшь вопросов про размер рантайма
Я такого не говорил, как раз и было интересно посмотреть что и откуда он линкует, понятное дело, что эти 500КБ почти не мешают
Cat
значит мне показалось, сорри
Alex
>Inclusive ranges with ..=
0..=3 я бы сказал, что это хуёвый синтаксис
Anton
альтернатива?
Sergey
… ?
Sergey
1…3
Sergey
даже a..b+1 лучше чем ..=
Anton
1..1 1...1
Anton
сливаеццО
Sergey
Sergey
не в моноширинном
Денис
реально сливается
Денис
в моноширинном естественно
Anton
Ну я сомневаюсь что часто будет использоватся так что пофиг
Sergey
реально сливается
не пойму как можно быстро не отличить
Денис
дык мне кажется оно специально так уёбищно сделано, чтобы подумали 10 раз перед тем как юзать
Sergey
так бля и 1 и l не отличимы (если уж приебываться)
Sergey
>Inclusive ranges with ..=
а его приняли чтоли?
Денис
оно уже в стейбле
Sergey
нда
Денис
выглядит люто
Cat
кавай
Денис
ага
Cat
в свифте же тоже какой-то подобный оператор