roboforum.ru

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

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

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

Dmitry__ » 01 июл 2011, 20:07

т.е. ты не можешь даже загрузить эти примеры и проверить?
формулу я привел

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

Michael_K » 01 июл 2011, 20:11

Слив защитан.

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

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 раз(а).

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

=DeaD= » 01 июл 2011, 20:31

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

И почему я не удивлён этим фактом....

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 раз.

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

Dmitry__ » 01 июл 2011, 20:52

=DeaD=
эта же оптимизация лежет и на пик, опять придется догонять :)
я повторил один в один асм авра на пик

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

Michael_K » 01 июл 2011, 20:54

А толку-то.

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

=DeaD= » 01 июл 2011, 20:58

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

Ни разу не видел, чтобы для сравнения производительности двух МК, имеющих разные наборы команд и архитектуру, повторяли один в один <оптимизированный> асм код.

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

Dmitry__ » 01 июл 2011, 21:03

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

Добавлено спустя 1 минуту 15 секунд:
да блин, ты чего? какой: <оптимизированный> асм код???
это сгенерил avrstudio

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

=DeaD= » 01 июл 2011, 21:09

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

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

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

Dmitry__ » 01 июл 2011, 21:12

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

rcall div
return

div: rcall div2

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

avr123.nm.ru » 01 июл 2011, 21:15

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


Я думаю это разные термины. "Причесанный" наверно означает оформление текста программы в принятом или устоявшемся стиле. "Оптимизированный" означает оптимальность кода по некоторым параметрам ( скорость, размер, надежность, комбинация ) именно утилитарную, а не эстетическую.

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

=DeaD= » 01 июл 2011, 21:18

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

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

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

Ну здесь то явно не этот смысл, была модификация самого списка команд, а не просто форматирование набора в удобном стиле.

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

Dmitry__ » 01 июл 2011, 21:19

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

да, тест умножения матрицы 3*4 - полная лажа


cron
Rambler\'s Top100 Mail.ru counter