LINUX.ORG.RU

Из-за LLVM 10.0 Rust стал медленнее

 ,


1

5

Разработчики обнаружили, что LLVM 10.0 приводит к более медленной компиляции — примерно на 7~8% по сравнению с LLVM 9.0. Так же обнаружено, что с переходом на LLVM 10 генерируется на 4.8% больше инструкций, а с переходом на master ветку — на 10.4%.

Подробности

Перемещено alpha из development

anonymous

на 4.8% больше инструкций

большее количество инструкций не значит более медленной работы

какие же растофаги неграмотные, ппц

anonymous ()
Ответ на: комментарий от alysnix

нужно llvm написать на русте. тогда все будет быстро, модно, молодежно.

Подожди, растленные ещё /bin/true и /bin/false не закончили переписывать в 20-й раз на Rust’е. Плюс ведь и на форумах ретранслировать пропаганду кому-то же нужно тоже, агитки там красочные рисовать. Но вот, как только закончат с этими важными делами, то обязательно возьмутся и за llvm тоже, они уже начинают медленно и неторопливо закатывать рукава, ведь впереди много работы! Ну а пока сойдет и llvm на небезопасном, дырявом, устаревшем, unsafe C++.

anonymous ()

К сожалению, сейчас небольшой выбор компиляторов для C/C++/Rust. Для C или C++ ты берешь либо gcc, либо clang, все остальное, кмк, не мейнстрим и по сравнению с gcc/clang развиваются слабо. Царь уже писал про clang, но я не могу согласится или не согласится, т.к. особо не сравнивал, я просто использую clang на винде, а gcc на линуксе.

А для раста вообще только один компилятор на LLVM…

snake266 ()

О чем царь постоянно говорит: команда растишек не контролирует компилятор. Завтра в llvm что-нибудь сломают ради оптимизации сишек, а код на расте превратится в тыкву.

bread ()
Ответ на: комментарий от bread

Мхм-мхм, дед опять пукает в лужу. Они не очень быстро, но всё же пилят cranelift, который уже может генерировать код, слегка более быстрый, чем LLVM с нулевым уровнем оптимизаций, при меньшем на 33% времени компиляции. Так что тут вопрос не «выкинут ли LLVM», а «когда выкинут LLVM». У них есть на то причины. Посмотрим как наш сектант-крестовичок после этого закукарекает.

anonymous ()
Ответ на: комментарий от anonymous

Возможно.

Но «Так же обнаружено» как бы намекает, что это - побочная информация, не относящаяся к основному контексту. На том и закончим, нет смысла разводить демагогию.

anonymous ()
Ответ на: комментарий от anonymous

Так что тут вопрос не «выкинут ли LLVM», а «когда выкинут LLVM»

Хорошая стратегия, чтобы превратиться в игрушку, ха-ха.

LLVM пилят не «для сишек», а для всего мира, у него 100500 пользователей и языков. И его не догнать, по крайней мере не растерам.

anonymous ()
Ответ на: комментарий от anonymous

Cranelift создаётся для webassembly и debug-сборок. Release-сборки всё равно будут генерировать с помощью LLVM ещё очень долго. Хотя даже если и полностью перейдут на cranelift, семантика плюсов останется, а вместе с ней и плюсовые приколы.

anonymous ()
Ответ на: комментарий от anonymous

Миру свойственно меняться. Раньше жили без LLVM? Да, жили. Сможем жить и после него, с cranelift или без него. Ну и напоминаю, что «игрушечный» Go не зависит от LLVM, и при этом де-факто популярен, вне зависимости от чьего-либо отношения к нему.

anonymous ()
Ответ на: комментарий от anonymous

Любой грамотно спроектированный язык не прибит к LLVM и имеет несколько компиляторов (от Сишки до D и Go). Но Rust привязан к семантике LLVM. Cranelift повторяет семантику LLVM. Растоманам остаётся надеяться на Rust 2.0.

anonymous ()
Ответ на: комментарий от anonymous

За Go стоит гугл, а го при этом не претендует на высшую эффективность кода. А Rust претендует. Кому он понадобится, если будет явно сливать C/C++?

И, собственно, чем не устраивает LLVM?

anonymous ()
Ответ на: комментарий от snake266

К сожалению, сейчас небольшой выбор компиляторов для C/C++

Если это «небольшой», тогда для какого языка он «большой»?

Для C или C++ ты берешь либо gcc, либо clang, все остальное, кмк, не мейнстрим и по сравнению с gcc/clang развиваются слабо.

Здрасьте… а как же компилятор msvc++?

seiken ★★★★★ ()
Ответ на: комментарий от seiken

Если это «небольшой», тогда для какого языка он «большой»?

Как то да, я преуменьшил. Проснулась моя жажда в чем то новом.

а как же компилятор msvc++?

Про него я забыл, потому что в последний раз им пользовался, наверно, года три назад.

snake266 ()

LLVM

Rust стал медленнее

Так они не нужны оба. До них как-то раньше обходились — и память экономили, и процессорное время.

iZEN ★★★★★ ()