roboforum.ru

Технический форум по робототехнике.
Текущее время: 01 мар 2025, 13:25

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 14:30 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Сорри, за тупые вопросы,...
- а что есть F23?
- сколькиразрядная у вас виртуальная машина получилась?
- исполняется из флэша или из рама?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 14:31 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
1. 23-е число Фибоначчи
2. 16 разрядов, только беззнаковые числа
3. Из флэша

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:09 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Хм...
по-моему (это совершенно частное имхо) такие алгоритмы вообще не показатель.
Там же достаточно буковку поменять и результат будет сильно различаться.
буквально ифы местами переставляешь и вуаля... нет разве?
А уж если с начальными условиями "поиграться" - так и вообще в разы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:14 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Как способ сравнения производительности - очень даже показатель.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:24 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Вот в этом-то я и не уверен.

Я сейчас на ГЦЦ скомпилял для АВРки... буквально от перестановки ифов, смены типа, легкой оптимизации ифов производительность заметно меняется. На одной и той же машине с одни и тем же компилятором. А есть еще ключи компилятора, например. Что уж говорить про разные языки, когда одинаково исходник заведомо разный.

А уж если задать не if(n==0) return 0; if(n==1) return 1; а, что-то вроде if(n<=2) return 1;
так и просто в два раза число итераций уменьшается...

Впрочем это оффтопик... Производительность понятна...
Имхо, есть куда оптимизировать... и сильно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:28 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Michael_K писал(а):
А уж если задать не if(n==0) return 0; if(n==1) return 1; а, что-то вроде if(n<=2) return 1;
так и просто в два раза число итераций уменьшается...

Этого не может быть, потому что не может быть никогда

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:33 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ну я утрировал, конечно... :) Я думаю, пример понятен - просто начальные условия сдвинули и упростили одновременно. Хотя для n=0 результат неправильный получается, да... ну это ж тривиальный, типа, случай :))

Добавлено спустя 3 минуты 16 секунд:
В реальных прогах вряд ли будет столько коллов на один плюсик и пару сравнений... ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 15:53 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
тут, имхо важен порядок сраввнений... если в начале проверять на 0,1,2 то при каждом вызове будут тратиться такты впустую...

то есть должно быть
иф эн больше 2 колл ф(эн-1)

а далее уже редкие случаи типа эн = 0,1,2

вапще нужна скорость - асм в руки ))

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 06 июн 2010, 17:48 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Не факт - посчитайте-ка :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 09 июн 2010, 09:42 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Переписал на ассемблере - тупо "в лоб" перевод с С на ассемблер, скорость выросла в 2 раза - F23 за 5,35 с. Вполне неплохо для 8-битного процессора (ATMega64)

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 09 июн 2010, 10:09 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ну вот это уже похоже на правду... грубо в среднем 25 тактов на команду...
В общем-то даже и неплохо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 09 июн 2010, 14:18 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Скорее ближе к 50. Вот несколько тестов (время в тактах процессора):

Код:
Empty loop (1000 iterations) : 265526
Assign 16-bit constant to global variable : 90
Assign 16-bit constant to local variable : 87
Call empty function : 153
Add 16-bit constant to local var, assign to local var : 178


Добавлено спустя 1 час 37 минут 47 секунд:
Немного ускорил
Код:
Empty loop (1000 iterations) : 205436
Assign 16-bit constant to global variable : 70
Assign 16-bit constant to local variable : 67
Call empty function : 123
Divide global by 16-bit constant, assign to global (worst case - divide by 1) : 479
Add 16-bit constant to local var, assign to local var : 138
Multiply global by 16-bit constant, assign to global : 152

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 23 июн 2010, 16:31 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Еще потестил, полет нормальный. Начал интегрировать в проект (мега64/128, 2 устройства через уарт, воспроизведение звука, анализ звука с микрофона, анализ состояния входов, управление нагрузками на выходе, логи на карте памяти, простенькая RTOS).

Позже выложу компилятор и исходники виртуальной машины.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу кросс-компилятор для АВР... :)
СообщениеДобавлено: 23 июн 2010, 16:40 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Вах!!! МОЛОДЦА! Супер.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO