Компиляторы (GNU против коммерческих)

Aug 29, 2006 8 Replies

Hi All !



Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс". Кто-то может прокомментировать табличку сравнения компиляторов, приведенную на стр.34 ? Получается, что один и тот же текст, скомпилированный скажем GNU 3.22 и IAR



4.11, отличается по быстродействию в 4 раза, по размеру кода и стека- в два раза. В пользу IAR. Keil CA BETA еще круче ИАРа (в два раза короче код, но медленней на 5%). Любопытно.


WBRgrds Ruslan


RM> Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство LPC2000 компании RM> Philips. Вводный курс". Кто-то может прокомментировать табличку сравнения RM> компиляторов, приведенную на стр.34 ? RM> Получается, что один и тот же текст, скомпилированный скажем GNU 3.22 и IAR RM> 4.11, отличается по быстродействию в 4 раза, по размеру кода и стека- в два RM> раза. В пользу IAR. Keil CA BETA еще круче ИАРа (в два раза короче код, но RM> медленней на 5%). Любопытно. по моему грязный пЕар

Hello Ruslan.

Вторник Авгyст 29 2006 06:52, you wrote to all:

RM> Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство LPC2000 RM> компании Philips. Вводный курс". Кто-то может прокомментировать RM> табличку сравнения RM> компиляторов, приведенную на стр.34 ? RM> Получается, что один и тот же текст, скомпилированный скажем GNU 3.22 RM> и IAR 4.11, отличается по быстродействию в 4 раза, по размеру кода и RM> стека- в два раза. В пользу IAR.

Смотря в каком режиме компилировалось (ARM или Thumb), GNU раньше не любил Thumb, выдавал не эффективный код. Как GNU мог затребовать в два раза больше стека я не могу представить, хотя если IAR уложился в 4 байта, а gcc потребовалось 8, то такое возможно (т.е. на очень маленьких объемах из-за разного пролога).

Leha

Hi Leha !

Совсем недавно 29 Aug 06 15:49, Leha Bishletov писал к Ruslan Mohniuc:

RM>> Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство RM>> LPC2000 компании Philips. Вводный курс". Кто-то может RM>> прокомментировать табличку сравнения компиляторов, приведенную на RM>> стр.34 ? Получается, что один и тот же текст, скомпилированный RM>> скажем GNU 3.22 и IAR 4.11, отличается по быстродействию в 4 RM>> раза, по размеру кода и стека- в два раза. В пользу IAR.

LB> Смотря в каком режиме компилировалось (ARM или Thumb), GNU раньше не LB> любил Thumb, выдавал не эффективный код. Как GNU мог затребовать в два LB> раза больше стека я не могу представить, хотя если IAR уложился в 4 LB> байта, а gcc потребовалось 8, то такое возможно (т.е. на очень LB> маленьких объемах из-за разного пролога).

Hаписано- Thumb. Так что может быть именно в этом дело.

WBRgrds Ruslan

Привет Ruslan!

29 Aug 06 07:52, Ruslan Mohniuc писал All:

RM> Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство LPC2000 RM> компании Philips. Вводный курс". Кто-то может прокомментировать RM> табличку сравнения компиляторов, приведенную на стр.34 ? Получается, RM> что один и тот же текст, скомпилированный скажем GNU 3.22 и IAR 4.11, RM> отличается по быстродействию в 4 раза,

Книги этой у меня нет, но если есть желание, показывай код, я могу его скомпилировать его для ARM7 и посмотреть время выполнения несколькими (на сей момент двумя) разными контроллерами.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Аэроволны: ментол и эвкалипт для носа, мед и лимон для рота!

Hi Alex !

Совсем недавно 29 Aug 06 19:44, Alex Mogilnikov писал к Ruslan Mohniuc:

RM>> Попалась на глаза книжка "Микроконтроллеры ARM7. Семейство RM>> LPC2000 компании Philips. Вводный курс". Кто-то может RM>> прокомментировать табличку сравнения компиляторов, приведенную на RM>> стр.34 ? Получается, что один и тот же текст, скомпилированный RM>> скажем GNU 3.22 и IAR 4.11, отличается по быстродействию в 4 RM>> раза,

AM> Книги этой у меня нет, но если есть желание, показывай код, я AM> могу его скомпилировать его для ARM7 и посмотреть время выполнения AM> несколькими (на сей момент двумя) разными контроллерами.

Там текста нет. Есть название, как я понимаю, комплектов:

1) Dhrystone V2.1 2) Whetstone

В обоих случаях примечание: Все тексты проводились в одинаковых условиях с использованием симулятора uVISION. Симулировался микроконтроллер Philips LPC2294, работающий на частоте

60 МГц в режиме THUMB.

WBRgrds Ruslan

Hello Ruslan.

29 Aug 06 18:41, you wrote to Leha Bishletov:

RM>>> Попалась на глаза книжка "Микpоконтpоллеpы ARM7. Семейство RM>>> LPC2000 компании Philips. Вводный куpс". Кто-то может RM>>> пpокомментиpовать табличку сpавнения компилятоpов, пpиведенную RM>>> на стp.34 ? Получается, что один и тот же текст, RM>>> скомпилиpованный скажем GNU 3.22 и IAR 4.11, отличается по RM>>> быстpодействию в 4 pаза, по pазмеpу кода и стека- в два pаза. В RM>>> пользу IAR. LB>> Смотpя в каком pежиме компилиpовалось (ARM или Thumb), GNU LB>> pаньше не любил Thumb, выдавал не эффективный код. Как GNU мог LB>> затpебовать в два pаза больше стека я не могу пpедставить, хотя LB>> если IAR уложился в 4 байта, а gcc потpебовалось 8, то такое LB>> возможно (т.е. на очень маленьких объемах из-за pазного пpолога). RM> Hаписано- Thumb. Так что может быть именно в этом дело. Возможно еще в комплекте с gcc шла довольно тяжеловесная библиотека как часто бывает.

Sergey

Hi Alexey !

Совсем недавно 30 Aug 06 08:20, Alexey Gushin писал к Ruslan Mohniuc:

Hу ничего себе почта ползет однако. Только сейчас доползло! :o

RM>> компании Philips. Вводный курс". Кто-то может прокомментировать RM>> табличку сравнения компиляторов, приведенную на стр.34 ? Получается, RM>> что один и тот

AG> А ключики GNU указаны ? Hет. Hо почти уверен, что где-то составители таблицы смухлевали.

WBRgrds Ruslan

Очинно может быть, GNU 3.22 действительно не очень хорош. Но посмотрите бенчмарки gcc4 например тут:

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required