Size: a a a

2021 March 05

D

Dima in rust_offtopic
Roman Blog
В общем, забудь про оптимизации на этом мусоре - это всё обречено. Всё, что у тебя есть - это llvm. Поэтому твоя задача одна - не прятать от него код. Посмотри на раст-сектантов - они везде обмазываются inline, чтобы скрыть свой позор.
Странно было бы чтоб Раст взял задачу оптимизации своего кода на фронтенд, тогда нах ллвм взялся?
источник

RB

Roman Blog in rust_offtopic
Dima
Странно было бы чтоб Раст взял задачу оптимизации своего кода на фронтенд, тогда нах ллвм взялся?
Не взял бы никогда - для этого нужно что-то мочь. И я не об этом. У тебя нет механизмов оптимизации на уровне языка.
источник

AN

Alex Noname in rust_offtopic
Dima
Странно было бы чтоб Раст взял задачу оптимизации своего кода на фронтенд, тогда нах ллвм взялся?
так есть noexcept или нет?
источник

RB

Roman Blog in rust_offtopic
Dima
Странно было бы чтоб Раст взял задачу оптимизации своего кода на фронтенд, тогда нах ллвм взялся?
ты не можешь взять и написать этот from, чтобы он не насрал в кодоген. Потому тчо на уровне языка - это динамическая херня
источник

RB

Roman Blog in rust_offtopic
а вот на С++ ты можешь это написать
источник

RB

Roman Blog in rust_offtopic
Alex Noname
так есть noexcept или нет?
ну авось каким-то llvm-хинтом есть. Если они его добавят, то адепты тут же узнают, что там есть исключения. Случится разрыв шаблона
источник

D

Dima in rust_offtopic
Roman Blog
Не взял бы никогда - для этого нужно что-то мочь. И я не об этом. У тебя нет механизмов оптимизации на уровне языка.
Ну, вообще то есть, даже в си нету таких механизмов, ох да словлю)
источник

RB

Roman Blog in rust_offtopic
Dima
Ну, вообще то есть, даже в си нету таких механизмов, ох да словлю)
Нет. Си - это того уровня язык. К тому же - есть, причём больше.
источник

RB

Roman Blog in rust_offtopic
всё, что у тебя в расте есть - это как раз всё из си, в рамках vm которого ты существуешь. И все эти хинты - это хинты сишного компилятора
источник

D

Dima in rust_offtopic
Roman Blog
Нет. Си - это того уровня язык. К тому же - есть, причём больше.
Не скажу что больше, разве в см не специально вводили restrict чтоб можно было хоть с тем же фортраном поспорить в плане кодгена
источник

RB

Roman Blog in rust_offtopic
Dima
Не скажу что больше, разве в см не специально вводили restrict чтоб можно было хоть с тем же фортраном поспорить в плане кодгена
Полная херня нелепая.
источник

AN

Alex Noname in rust_offtopic
ну инлайн он делает до llvm-ir во всяком случае в выхлопе уже нет фунций.
источник

RB

Roman Blog in rust_offtopic
во-первых оно там было всегда, во-вторых оно ненужно.
источник

RB

Roman Blog in rust_offtopic
Alex Noname
ну инлайн он делает до llvm-ir во всяком случае в выхлопе уже нет фунций.
нет - он не делает никаких инлайнов.
источник

AN

Alex Noname in rust_offtopic
а как оно тогда показывать уже заинлайненый llvm?
источник

RB

Roman Blog in rust_offtopic
ты не можешь получить выхлоп, который он сгенерировал.
источник

AN

Alex Noname in rust_offtopic
там есть встроенные функции ллвм?
источник

AN

Alex Noname in rust_offtopic
для этого
источник

RB

Roman Blog in rust_offtopic
да, он показывает результирующий llvm, который уже прошёл все трансформации внутри него
источник

RB

Roman Blog in rust_offtopic
и ir генерирует сам llvm. Огрызок фрнта там ничего не генерирует. Он используете билдеры из llvm-api
источник