anonymous@RULINUX.NET~# | Last login: 2024-11-05 13:32:13 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
Обьясните мне в чем профиты сабжа? В чем плюсы использования llvm-gcc по сравнению с просто gcc.
Tux-oid(*) (2010-10-26 11:46:00)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.6) Gecko/20100626 SUSE/3.6.6-1.2 Firefox/3.6.6
|
|
|
Скрыть
Re: LLVM>дополнительная прослойка в виде собственной виртуальной машины, которая ну не может не сказаться на производительности.
Tux-oid(*)(2010-10-26 15:02:24)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.6) Gecko/20100626 SUSE/3.6.6-1.2 Firefox/3.6.6 |
Скрыть
Re: LLVM> этом-же
|
Tux-oid(*)(2010-10-26 15:08:58)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.6) Gecko/20100626 SUSE/3.6.6-1.2 Firefox/3.6.6 |
Скрыть
Re: LLVM> общая тенденция напрягает(си/кресты работащие через виртуальную машину)
|
Скрыть
Re: LLVM> Из минусов -- дополнительная прослойка в виде собственной виртуальной машины, которая ну не может не сказаться на производительности.
bugmaker(*)(2010-10-26 15:21:37)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Tux-oid(*)(2010-10-26 15:46:09)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.6) Gecko/20100626 SUSE/3.6.6-1.2 Firefox/3.6.6 |
Скрыть
Re: LLVM> теоретически, вм может работать быстрее нативного кода
|
Скрыть
Re: LLVM> вм под платформу проще пилить, чем компилятор
|
Скрыть
Re: LLVMЯ твоё "пилить" понял как разрабатывать, а не компилить. Потому и высказался на тему, что компилятор всё равно потребуется. А так надо сравнивать затраты (электричества? что мы эеономим в конечном итоге?)на компиляцию софта под несколько платформ и доп.затраты на интерпретацию байт-кода в рантайме. За единицу предлагаю принять одно переключение вентиля. Что окажется выгоднее на протяжении жизненного цикла работы программы - один раз потратиться на компиляцию или всю жизнь тратиться на интерпретацию? |
Скрыть
Re: LLVM> Я твоё "пилить" понял как разрабатывать, а не компилить
> Потому и высказался на тему, что компилятор всё равно потребуется
> А так надо сравнивать затраты (электричества? что мы эеономим в конечном итоге?)на компиляцию софта под несколько платформ и доп.затраты на интерпретацию байт-кода в рантайме
> Что окажется выгоднее на протяжении жизненного цикла работы программы - один раз потратиться на компиляцию
> или всю жизнь тратиться на интерпретацию?
bugmaker(*)(2010-10-26 18:12:37)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM>теоретически, вм может работать быстрее нативного кода
|
Скрыть
Re: LLVMНасколько я понимаю не сходив по ссылкам, то речь идёт о двух альтернативах: 1. Традиционный. Ты пишешь void main(void){printf("Hello, World!");} и компилишь свою программу в машинный код под каждую комбинацию ОС и аппаратной архитектуры отдельно. 2. Путь который тут рассматривается - ты пишешь void main(void){printf("Hello, World!");} и компилишь свою программу в некий байткод, который исполняется на всех комбинациях платформ, для которых существует интерпретатор данного байткода. И всё. Понятно, что во втором случае ты экономишь такты процессора на компилировании. Но при этом ты получаешь программу, которая требует дополнительных тактов процессора для достижения того же результата, постоянно, всю свою жизнь, внося дополнительный вклад в повышение температуры климата, создания парникового эффекта и тем самым приближая апокалипсис. Вопрос - стоит ли выделки такая неэкологичная овчинка. |
Скрыть
Re: LLVM>> Из минусов -- дополнительная прослойка в виде собственной виртуальной машины, которая ну не может не сказаться на производительности.
|
Скрыть
Re: LLVMНет, ты не разобрался просто. Байткод нельзя так сравнивать с нативным, потому что нативный исполняется на процессоре, а байткод - нет. Вот, смотри. Прога компилится в байткод и в таком виде поставляется в две конторы. Контора А считает ей поголовье крокодилов в Ниле, а контора Б - скорость утечки газа из газопровода, проходящего по территории Украины. Расчёты алгоритмически одни и те же, но данные разные и оборудование разное. Если бы проги компилились в нативный код, для максимального выйгрыша в производительности нужно было экземпляры прог А и Б скомпилировать с существенно разными параметрами оптимизации, но никто не заморачивался же. Для совместимости откомпилировали допустим в 486, чтобы гарантированно везде пошло, и всё. А JIT делает по-другому. Он переводит байткод в нативный при запуске. И может по ходу выполнения проги, прогнав её немного с конкретным набором данных, применять разные варианты оптимизации, в результате А и Б получают в действительности разный выполняемый код, который лучше оптимизирован под их оборудование и данные, и выполняется быстрее нативного, потому что после JIT в итоге получается не просто нативный код, но нативный код, оптимизированный под конкретные условия. А экономить такты процессора для препятствования глобальному потеплению глупо. Во-первых, у индуса-быдлокодира всяко получится хуже заоптимизировать, чем JIT, во-вторых, индус-быдлокодир по-любому напердит больше парниковых газов чем процессор, и луче бы этому быдлокодиру поручить другую задачу, с которой он справился бы лучше процессора, чтобы уж хотя бы не зазря. bugmaker(*)(2010-10-26 19:26:58)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM>Нет, ты не разобрался просто. Байткод нельзя так сравнивать с нативным, потому что нативный исполняется на процессоре, а байткод - нет.
|
Скрыть
Re: LLVM> Для совместимости откомпилировали допустим в 486
|
Скрыть
Re: LLVMВерно, но 1) притомишься вручную делать тесты и подгонять под оптимизацию 2) тем более притомишься заниматься этим на каждой рабочей станции и для каждого набора данных. bugmaker(*)(2010-10-26 22:50:24)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM> Эй, я же сказал, что сравниваем код скомпилированный под комбинацию ОС-железо.
bugmaker(*)(2010-10-26 22:52:21)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM> Часто твои поделия клиетны у себя перекомпилируют и оптимизируют под своё железо и данные?
|
Скрыть
Re: LLVM> Каждая версия билдится под текущие версии основных ОС и процессоров и прочих зависимостей, клиенту поставляется то, что соответствует его платформе. Это не так много.
> интерпретатор байт-кода, который бы добавлял своих глюков на каждой платформе и в каждой своей версии, что только удорожило бы поддержку.
|
Скрыть
Re: LLVM> ога, под амд отдельно под интел отдельно.
> А если у заказчика сразу два компа...
> Про наборы данных ещё забыл упомянуть.
> интерпретатор+компилер примерно то же самое по сложности, как и оптимизированный компилер в натив. И в обеих из них глюков как раз по минимуму по сравнению с глюками в багосборниках, которые разрабатывают быдлокодиры.
|
Скрыть
Re: LLVM> Примерно так.
> ... то они идентичной конфигурации. Это энтерпрайз, там всё не как у людей :)
> Это не часть ПО, они специфичны для клиента, а не для платформы.
> Компилируя у себя, ты хотя бы можешь быть уверен что за код ты отгрузил клиенту и какой процессор его будет исполнять. А когда продукт идёт в байткоде - ты даже не знаешь на какой конкретно версии интерпретатора он будет исполняться, или клиенту рекомендуется конкретная версия, вплоть до уровня патча.
|
Скрыть
Re: LLVM> и кто оплачивает работу по компиляции?
> тычё, тырпрайза никогда не видел???
> JIT однако их учитывает, а отмаза всего лишь отмаза
> поэтому в тырпрайзах везде жабка с ейным жвм, да...
|
Скрыть
Re: LLVM> Внизу цепочки находятся частные лица, вот они всё всегда и оплачивают.
> Наверное тебе просто что-то непотребное показывали вместо энтерпрайза :)
> ???
> Не всегда.
|
Скрыть
Re: LLVM> да, а кто непосредственно оплачивает услуги по компиляции, профайлинге и тестированию на овер9к платформах?
> тырпрайз может быть потребным?
> ты читал, что JIT профайлит не просто код, а код, исполняющий конкретные данные?
> в большей степени всегда, чем никогда
|
Скрыть
Re: LLVM> но в конечном счёте платят за всё частные лица из своего кармана
> Если не он, то кто же?
> Чево? JIT не компилит код пока он не нужен приложению. На этом собственно JIT заканчивается и начинаются твои фантазии или фантазии отдельных разработчиков отдельных реализаций.
> Так что не всегда она подходит.
> и медленнее нативного кода
|
Скрыть
Re: LLVM> так договорились с заказчиком.
> Кто угодно, только не он. Сифилитичный бомж более потребен же.
> прочитай как оно работает. Я выше описал вкратце. Если непонятно или недостаточно подробно - в инетах навалом статей на эту тему.
> ох разве? полистай бенчмарки лучше уж.
|
Скрыть
Re: LLVM> Почему заказчик пришёл к нам?
> Да воздастся тебе по потребностям твоим
> Ссылку на конкретную статью
bugmaker(*)(2010-10-27 17:10:12)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM> потому что откаты.
> BTW, увиливать не хшё.
>> Ссылку на конкретную статью
|
Скрыть
Re: LLVM> Никогда про такое не слышал применительно к своей конторе :)
> Гы, я вижу.
> А почему это ты мне условия выставляешь?
> Если ты ссылаешься на что-то в сети - вот и предоставляй ссылки. Будем обсуждать то, на что ты ссылаешься.
|
Скрыть
Re: LLVM> нутк не все должности одинаково информированы
> не только видишь, но и поступаешь так.
> Это не условия, а вопрос.
> И ты опять увильнул от ответа.
>> Если ты ссылаешься на что-то в сети - вот и предоставляй ссылки. Будем обсуждать то, на что ты ссылаешься.
В отквоченном я не спрашивал "почему". Просто дай ссылку на конкретную статью из которой ты узнал, что профайлинг является неотъемлемой частью JIT компиляторов. |
Скрыть
Re: LLVM> Хочешь сказать, что твоя должность информирована значительно лучше? :)
> Помилуй, да где же я так поступаю!?
> Ну в те времена, когда я изучал русский язык, выражения вида "представлю, но сперва do something" ещё называли условиями.
> Разве твой вопрос подразумевает ответ?
> В отквоченном я не спрашивал "почему".
> Просто дай ссылку на конкретную статью из которой
> ты узнал, что профайлинг является неотъемлемой частью JIT компиляторов.
bugmaker(*)(2010-10-27 19:14:15)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM> нет. Что хотел сказать - ужо сказал.
> там ^^^
> почему нет?
> нет, спрашивал, цитирую: "А почему это ты мне условия выставляешь?"
> сфига ли мне записывать где что и откуда я узнал?
> нет, сперва ответь на вопросы
|
Скрыть
Re: LLVM> Ты выдвинул тезис, противоположный моему утверждению, теперь мы все ждём от тебя обоснования.
> Да врёшь ты всё, нету там ^^^ ничего такого!
> А пому ты его вообще задал?
> Вот опять врёшь,
> ты отвечал на фразу "Если ты ссылаешься на что-то в сети - вот и предоставляй ссылки. Будем обсуждать то, на что ты ссылаешься." а не на то, что процитировал. Выше всё запротоколировано.
> Понятно. С пруфами у тебя звтруднения :-)
> Вот ещё буду я отвечать на твои бессмыссленные вопросы.
> Ты сделал утверждение, приводи ссылки.
> А твои жалкие попытки уйти от темы обсуждения выглядят каким-то уж совсем неловким сливом.
> Ты не в том положении, чтобы ставить мне условия.
bugmaker(*)(2010-10-27 20:19:09)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
Скрыть
Re: LLVM> напомни, о каком утверждении и о каком тезисе идёт речь
> нет, ты. Там ^^^ именно Такое и даже хуже
>> А пому ты его вообще задал?
>> Вот опять врёшь, ты отвечал на фразу "Если ты ссылаешься на что-то в сети - вот и предоставляй ссылки. Будем обсуждать то, на что ты ссылаешься." а не на то, что процитировал. Выше всё запротоколировано.
> я уточнил и ответил
>> Понятно. С пруфами у тебя звтруднения :-)
> мне не нравится отвечать на вопросы тех, кто оставляет мои собственные вопросы без ответа.
>> Ты сделал утверждение, приводи ссылки.
>> А твои жалкие попытки уйти от темы обсуждения выглядят каким-то уж совсем неловким сливом.
>> Ты не в том положении, чтобы ставить мне условия.
|
Скрыть
Re: LLVM> Ты оспаривал тот факт, что наш продукт продаётся благодаря своим качествам, утверждая что он продаётся благодаря откатам. Вот хотелось бы послушать как ты обоснуешь свои слова :-)
> Да где же, где? Протри глаза!
> Извини, опечатался - хотел узнать "почему" а не "кому".
> Нет ты.
> Ты же отквотил на что отвечал.
> Что ты можешь ответить?
> Ты даже пруфа не в состоянии привести.
> Нет, не у меня, а у тебя.
> Ты наверное мазохист, раз задаёшь бессмысленные вопросы там, где от тебя ждут пруфа.
> Естественно никто не будет тратить время отвечая на твои вопросы.
> Но мне не интересно зачем ты так себя мучаешь.
> А я и не говорю что ты отказывался. Я говорю что ты их не привёл, а занимаешься пустой болтовнёй, попусту тратя на это и своё и моё время.
> Да нет же, твои.
> Да врёшь ты всё,
> твоё выражение "нет, сперва ответь на вопросы" - это именно попытка поставить условие.
bugmaker(*)(2010-10-27 21:03:15)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
bugmaker(*)(2010-10-27 21:13:18)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Ubuntu/9.04 (jaunty) Shiretoko/3.5.12 |
|
|
|
Этот тред читают 13 пользователей: |
Анонимных: 13 Зарегистрированных: 0 |
Re: LLVM
Модно, сейчас все так делают. Других плюсов я не знаю.
Из минусов -- дополнительная прослойка в виде собственной виртуальной машины, которая ну не может не сказаться на производительности.
Midori/0.2 (X11; Linux; U; ru-ru) WebKit/531.2+