roboforum.ru

Технический форум по робототехнике.


Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Все здесь

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Dmitry__ » 01 июл 2011, 20:07

т.е. ты не можешь даже загрузить эти примеры и проверить?
формулу я привел
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Michael_K » 01 июл 2011, 20:11

Слив защитан.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение =DeaD= » 01 июл 2011, 20:21

Я ведь не один как минимум ЭТО вижу?

;result[0] = 12;
ldi r24, 0x0C
std Y+1, r24
;result[1] = 3;
ldi r24, 0x03
std Y+2, r24
;result[2] = add(result[0], result[1]);
ldd r25, Y+1
ldd r24, Y+2

;return (a + b);
add r24, r25


=> Оптимизируем =>

;result[0] = 12;
ldi r25, 0x0C
std Y+1, r25
;result[1] = 3;
ldi r24, 0x03
std Y+2, r24
;return (a + b);
add r24, r25
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Michael_K » 01 июл 2011, 20:24

не один :)
Говорю же - тщательнее условия нужно ставить.

Тест показал, что неоптимизированный Си (безо всяких там "форсед инлайнов" и прочих "register") на авр примерно в два раза быстрее, чем ручной асм на пик18.
Если считать в микросекундах на максимальной для каждого кристалла частоте.
(Atmega48 @ 20МГц = 20MIPS, pic18 @ 40МГц = 10MIPS)

А си на пике еще в два-три раза тормознее.
Последний раз редактировалось Michael_K 01 июл 2011, 20:36, всего редактировалось 2 раз(а).
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение =DeaD= » 01 июл 2011, 20:31

В общем в сухом остатке типа следующее - тесты, опубликованные на http://mcu.caxapa.ru/benchmarks/ не врут, так?

И почему я не удивлён этим фактом....
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Michael_K » 01 июл 2011, 20:35

Не врут, конечно. Плюс ко всему тест выбран не самый показательный...
В среднем цифры отличаются раза в полтора сильнее.

По поводу же именно ассемблерной оптимизации - можно посмотреть на тесты, где преобладает время выполнения библиотечных функций, а не сишного оформления-прологов-эпилогов. Есть вероятность :wink:, что библиотечные функции оптимизированы на асме вручную для каждого из процов.

Для восьмибитных процов вполне показательны например тесты с плавающей точкой.
http://mcu.caxapa.ru/benchmarks/16.html
Последний раз редактировалось Michael_K 01 июл 2011, 20:53, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Dmitry__ » 01 июл 2011, 20:52

=DeaD=
эта же оптимизация лежет и на пик, опять придется догонять :)
я повторил один в один асм авра на пик
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Michael_K » 01 июл 2011, 20:54

А толку-то.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение =DeaD= » 01 июл 2011, 20:58

Dmitry__ писал(а):я повторил один в один асм авра на пик

Ни разу не видел, чтобы для сравнения производительности двух МК, имеющих разные наборы команд и архитектуру, повторяли один в один <оптимизированный> асм код.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Dmitry__ » 01 июл 2011, 21:03

мне холиварить нет смысла, я оба камня знаю хорошо, есть большой проект сигнализации gsm на авр
с далласовской сетью и голосовым меню как у сотовых операторов.
я люблю авр :)

Добавлено спустя 1 минуту 15 секунд:
да блин, ты чего? какой: <оптимизированный> асм код???
это сгенерил avrstudio
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение =DeaD= » 01 июл 2011, 21:09

Такой:
Dmitry__ писал(а):причесанный код авр

Или у нас уже есть новый термин "причесанный", отличающийся от "оптимизированный" ???
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Dmitry__ » 01 июл 2011, 21:12

может сравнишь эти 2 кода? :shock:
я только убрал:

rcall div
return

div: rcall div2
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение avr123.nm.ru » 01 июл 2011, 21:15

=DeaD= писал(а):Или у нас уже есть новый термин "причесанный", отличающийся от "оптимизированный" ???


Я думаю это разные термины. "Причесанный" наверно означает оформление текста программы в принятом или устоявшемся стиле. "Оптимизированный" означает оптимальность кода по некоторым параметрам ( скорость, размер, надежность, комбинация ) именно утилитарную, а не эстетическую.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение =DeaD= » 01 июл 2011, 21:18

Dmitry__ писал(а):может сравнишь эти 2 кода?

Может и сравню, только боюсь и после этого смысл полуоптимизированного асм-кода при сравнении производительности МК для меня останется загадкой... а если так, то какой в этом смысл?

Добавлено спустя 59 секунд:
avr123.nm.ru писал(а):"Причесанный" наверно означает оформление текста программы в принятом или устоявшемся стиле.

Ну здесь то явно не этот смысл, была модификация самого списка команд, а не просто форматирование набора в удобном стиле.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Переход с АVR на PIC, перешедший в холивар AVR vs PIC =)

Сообщение Dmitry__ » 01 июл 2011, 21:19

спасибо тебе avr123.nm.ru
как в воду глядел
они даже не заглядывали в код :(

да, тест умножения матрицы 3*4 - полная лажа
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Пред.След.

Вернуться в Свободное общение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron