реклама на сайте
подробности

 
 
> ARM7 сравнение компиляторов, провел небольшое исследование
KRS
сообщение Oct 27 2009, 15:56
Сообщение #1


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



компиляторы -
IAR V5.40.2.51604/W32
RVCT4.0 [Build 650]
(Sourcery G++ Lite 2009q1-161) 4.3.3

Задача:
распаковка LZMA из внутренней Flash, только распаковка, данные никуда не отсылаются.
запакованный размер - 244625
распакованный - 605992
размер словаря 8 кб
данные - прошивка от блекфина.
оптимизация максимальная по скорости

Платформа:
ARM - LPC2138
частота 50 Mhz MAM включен

размер кода (только декодер)
Код
       IAR    RVCT  GNUC
ARM    3032   3284  3844
THUMB  2372   2514  2844


Время выполнения в ms (измерял с помощью таймера с прескалером 0)
код выполнялся из памяти
Код
       IAR    RVCT  GNUC
ARM    1754   1737  2212
THUMB  2720   2761  2494


код из флеша
Код
       IAR    RVCT  GNUC
ARM    1954   1950  2323
THUMB  2870   2942  2738


В тумбе IAR генерит более быстрый и компактный код по сравнению с RVCT.
В ARM из flash разница в скорости ~0.2% что несущественно, а вот код ~8% компактнее.

С GNUC - интересно в тумбе код большой, но более быстрый. Посмотрел по листингу - это связано с тем что GNUC в тумбе использует r8, r9 ( r10,r11 не использовал)

PS - общий проект в IAR, разными компиляторами компилировал только функцию декодера, а т.к. все EABI, то IARовсикй линкер без проблем жрал. Поэтому измерение времени для разных компилеров корректно - именно время распаковки.

Сообщение отредактировал KRS - Oct 27 2009, 16:15
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KRS   ARM7 сравнение компиляторов   Oct 27 2009, 15:56
- - Sunder_RUS   Вот ещё тестирование. http://www.phyton.ru/pages/p...   Oct 27 2009, 19:52
- - Rst7   Цитатапровел небольшое исследование Голые цифры -...   Oct 27 2009, 20:53
|- - KRS   Цитата(Rst7 @ Oct 27 2009, 23:53) Голые ц...   Oct 27 2009, 21:12
|- - Harbour   Цитата(Rst7 @ Oct 27 2009, 22:53) Хотя ли...   Oct 28 2009, 04:31
- - Rst7   ЦитатаОбоснуйте, с каких это пор ? С тех пор, как...   Oct 28 2009, 05:02
- - Harbour   Улучшение x86 не значит ухудшение embedded one. ве...   Oct 28 2009, 13:21
- - Rst7   Цитатавекторизацию точили для SMP Cell/PPC/x86_64 ...   Oct 28 2009, 13:34
- - Harbour   ЦитатаОшибаетесь. Для PowerPC векторизация не нужн...   Oct 28 2009, 15:31
- - Rst7   ЦитатаВекторизация использует SIMD инструкции, для...   Oct 29 2009, 06:22
- - Harbour   ЦитатаДа нет. Я не об этом. Я о той векторизации, ...   Oct 29 2009, 09:05
- - yuri_t   На моих проектах (RTOS,TCP/IP etc) для ARM7/9 самы...   Oct 29 2009, 09:18
|- - KRS   Цитата(yuri_t @ Oct 29 2009, 12:18) А вот...   Oct 29 2009, 10:59
|- - etoja   Цитата(yuri_t @ Oct 29 2009, 12:18) самый...   Oct 29 2009, 11:27
|- - KRS   Цитата(etoja @ Oct 29 2009, 14:27) Если р...   Oct 29 2009, 11:48
- - Rst7   ЦитатаЭто не совсем векторизация - это банальная о...   Oct 29 2009, 09:20
- - Rst7   ЦитатаА вот для Cortex-M3 IAR 5.40 генерит очень м...   Oct 29 2009, 13:49
|- - yuri_t   Цитата(Rst7 @ Oct 29 2009, 16:49) Листинг...   Oct 29 2009, 14:12
- - KRS   На примере простого кода, работы с битовыми полями...   Oct 29 2009, 14:24
|- - KRS   Цитата(KRS @ Oct 29 2009, 17:24) На приме...   Oct 29 2009, 16:18
|- - AHTOXA   Цитата(KRS @ Oct 29 2009, 21:18) как видн...   Oct 29 2009, 23:13
|- - klen   Генерит GCC условные команды IT я взял асм своего ...   Nov 1 2009, 11:18
|- - KRS   Цитата(klen @ Nov 1 2009, 14:18) из сего ...   Nov 1 2009, 23:01
|- - dch   обычно компиляторы несравниваются по наличию ошибо...   Nov 2 2009, 00:57
- - Rst7   Цитатаhttp://tnkernel.com/downloads/tnkernel-2-5.....   Oct 29 2009, 14:26
- - ReAl   Полуоффтоп: Не, ну таки странности у gcc проскакив...   Nov 2 2009, 01:18
- - brag   Выкладываю несколько результатов бенчмарков. мож к...   Jun 11 2012, 08:58
- - brag   Ни один компилятор не смог нормально соптимизирова...   Jul 6 2012, 05:57
|- - Petka   Цитата(brag @ Jul 6 2012, 09:57) Ни один ...   Jul 6 2012, 06:41
- - brag   ЦитатаСледующаяя строка кода может работать с совс...   Jul 6 2012, 07:18
|- - Petka   Цитата(brag @ Jul 6 2012, 11:18) Интересн...   Jul 6 2012, 07:45
- - brag   ЦитатаА если next->prev == &(prev->next)...   Jul 6 2012, 07:54
|- - Petka   Цитата(brag @ Jul 6 2012, 11:54) &(pr...   Jul 6 2012, 08:38
- - brag   Тоесть компилятор всегда перегружает переменную,ес...   Jul 6 2012, 08:52
|- - Petka   Цитата(brag @ Jul 6 2012, 12:52) Тоесть к...   Jul 6 2012, 09:39
- - Сергей Борщ   В "голых" Сях есть квалификатор restrict...   Jul 6 2012, 09:43
- - brag   Цитатанет указания компилятору что содержимое b мо...   Jul 6 2012, 10:21
- - Petka   Цитата(brag @ Jul 6 2012, 14:21) Тогда в ...   Jul 6 2012, 11:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016