Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коммерческие компиляторы под Linux 
:(
    Опции темы
semibug
Дата 10.1.2012, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Есть ли более качественные компиляторы (можно платные), чем дефолтный GCC под Linux?
Опыт с GCC небольшой, но пока складывается впечатление, что генерируемый код не эффективен. Сравнивал результаты GCC и keil, а также GCC и компилятора от ms студии (компилировался абстрактный код, без привязки к платформе, например простой цикл).


PM   Вверх
Фантом
Дата 10.1.2012, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 10
Всего: 49



Цитата(semibug @  10.1.2012,  20:11 Найти цитируемый пост)
Есть ли более качественные компиляторы (можно платные), чем дефолтный GCC под Linux?

ICC сойдет? Open64, SCC, Clang/LLVM...

Цитата(semibug @  10.1.2012,  20:11 Найти цитируемый пост)
а также GCC и компилятора от ms студии (компилировался абстрактный код, без привязки к платформе, например простой цикл).

И Вы хотите сказать, что у GCC результат хуже? Что-то в это не очень верится...
PM   Вверх
semibug
Дата 10.1.2012, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Фантом, спасибо за наводку, буду щупать.

Вот на вскидку, цикл, кодогенерация под ARM Thumb2 (ключи оптимизации почти не влияют):

Код

void foo( volatile unsigned long d )
{
    for (;d;d--);
}


GCC 4.6:
Код

    sub    sp, sp, #8
    str    r0, [sp, #4]
    b    .L2
.L3:
    ldr    r3, [sp, #4]
    subs    r3, r3, #1
    str    r3, [sp, #4]
.L2:
    ldr    r3, [sp, #4]
    cmp    r3, #0
    bne    .L3
    add    sp, sp, #8
    bx    lr



Keil 3.1:
Код

    B        |L1.4|
|L1.2|
    SUBS     r0,r0,#1
|L1.4|
    CMP      r0,#0
    BNE      |L1.2|
    BX       lr




PM   Вверх
Фантом
Дата 10.1.2012, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 10
Всего: 49



Тут-то вопросов нет. Меня удивил результат сравнения с MS студией.
PM   Вверх
bilbobagginz
Дата 11.1.2012, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(semibug @  10.1.2012,  18:11 Найти цитируемый пост)
Опыт с GCC небольшой, но пока складывается впечатление, что генерируемый код не эффективен. 

какие параметры оптимизации включены при компиляции кода на GCC? 
есть уйма (как и в кейле). 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
boostcoder
Дата 2.2.2012, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 3
Всего: 110



Цитата(semibug @  10.1.2012,  21:25 Найти цитируемый пост)
GCC 4.6:

gcc, gcc рознь.
его можно собрать множеством способов. и я почти уверен что для ARM он собран как попало.
покажи вывод gcc -v
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1037 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.