Цитата([banned] @ May 25 2006, 17:55)

1001-й "бенч мак" намечается ...
вот такой тест покатит ?
http://www.atmanecl.net/EnglishSite/CCCE.htm=======
это кстати IDE на основе GCC. С встроенным генератором начального кода.
и CVAVR там не плохо смотрится.
Там откровенный гон приведен. IAR мне выдал 118 байт при оптимизации по скорости и 110 - по размеру.
IARКомандная строка (по скорости):%IAR%\%AVR%\bin\iccavr.exe slon.cpp -lC slon.lst -e --cpu=m16 -ms -s9 -r -I%IAR%\%AVR%\inc -I%IAR%\%AVR%\inc\dlib --diag_suppress=Pe951
Вывод компилятора: IAR Atmel AVR C/C++ Compiler V4.12A/W32, Evaluation Version
Copyright 1996-2005 IAR Systems. All rights reserved.
118 bytes of CODE memory
0 bytes of DATA memory (+ 3 bytes shared)
Errors: none
Warnings: none
Командная строка (по размеру):%IAR%\%AVR%\bin\iccavr.exe slon.cpp -lC slon.lst -e --cpu=m16 -ms -z9 -r -I%IAR%\%AVR%\inc -I%IAR%\%AVR%\inc\dlib --diag_suppress=Pe951
Вывод компилятора: IAR Atmel AVR C/C++ Compiler V4.12A/W32, Evaluation Version
Copyright 1996-2005 IAR Systems. All rights reserved.
110 bytes of CODE memory
0 bytes of DATA memory (+ 3 bytes shared)
Errors: none
Warnings: none
WinAVR 20060421Командная строка:avr-c++.exe -c -mmcu=atmega16 -g -O3 -Wa,-adhlms=slon.lst slon.cpp
Поскольку компилятор не утруждается выводом статистики по размерам использованных данных и кода ни при выводе, ни в листинге, то приходится использовать утилитку:
avr-size.exe slon.o
Ее вывод:
Код
text data bss dec hex filename
258 0 0 258 102 slon.o
Насколько я знаком с gcc, секция text - это и есть код. Т.е. 258 байт. Что-то много. Оптимизация максимальная.
Снижаем оптимизацию до O2 получаем:
Код
text data bss dec hex filename
130 0 0 130 82 slon.o
Намного лучше. Другие виды оптимизации дают тот же результат. Без оптимизации:
Код
text data bss dec hex filename
310 0 0 310 136 slon.o
Совсем плохо. Вывод - работать, видимо, надо с O2. Но такой дикий разброс - в два раза выглядит очень странно! Зато логично выглядит замечание коллеги
beer_warrior'а, что с gcc надо держать ухо востро - на IAR'е я выставил максимальную оптимизацию и забыл про проблемы - получаю всегда самый лучший код. А за этим надо следить - как бы он чего не напакостил. Вряд ли это обстоятельство можно отнести к достоинствам компилятора.
118/130 - 10%
110/130 - 15%
Где-то так оно и есть. Хотя по такому мелкому тесту судить, конечно, нельзя.
Цитата(beer_warrior @ May 25 2006, 18:20)

Цитата
Т.е. Вы - укротитель кода, мегаалгоритмист, который за счет крутого стиля сделает любого другого даже на более слабом инстументе?
Ага, а я - недоделок гонорной, который прогу перенести с одной платформы на другую не в состоянии. Мерси за оценку. smile.gif
Зря вы так.
Прошу прощения за некоторую резкость, но выглядело это именно так.
Цитата(beer_warrior @ May 25 2006, 18:20)

По простому - если я знаю, что мой компилятор в каких-то моментах слаб, я избегаю таких моментов, если знаю что силен я такое решение предпочту. Все зависит от кода.
Например при работе с флэшью gcc сильно проигрывает, и если такого кода много тут ничего не поделаешь.Если каким-то образом это можно обойти, тогда догоняем.
Это похоже на "моя машина плохо берет подъемы, поэтому в подъемы я стараюсь не ездить".