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

 
 
9 страниц V  « < 5 6 7 8 9 >  
Reply to this topicStart new topic
> High Speed USB Cortex M0-M3
aaarrr
сообщение Jun 14 2011, 13:29
Сообщение #91


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(brag @ Jun 14 2011, 17:21) *
спасибо,поставил.

Все равно слишком мало. Поставили "-O3 -Otime"?
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 13:39
Сообщение #92


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

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Честно говоря, странные результаты. Даже древний ИАР 5 версии выдаёт 50 мипсов...

вообще-то все дело в функциях типа strcpy sm.gif
у меня простые inline на C написаны, без особых хитростей, воткнул библиотечную strcpy, strcmp че-то не хочет, я ему __builtin_strcmp , а он мне undefined reference to `strcmp'
Цитата
Microseconds for one run through Dhrystone: 9
Dhrystones per Second: 111111
VAX MIPS rating = 63.239

кароче тут мы тестим у кого лучше strcpy/strcmp реализованы sm.gif)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 15:05
Сообщение #93


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(brag @ Jun 14 2011, 18:53) *
AHTOXA, можете выложить откомпиленные бинарки dhry21a.о,dhry21b.о или как там у вас? уж больно интересно стало...

Вот держите, весь проект (с *.o): Прикрепленный файл  dhrystone.7z ( 132.54 килобайт ) Кол-во скачиваний: 87

Цитата(sonycman @ Jun 14 2011, 19:28) *
Хех, секунды, сотые - вот тут мои микросекундные таймеры рулят в полную laughing.gif

Это потому у вас такое ровное число:
Цитата
Microseconds for one run through Dhrystone: 6.0

? Или случайно совпало? sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 14 2011, 15:21
Сообщение #94


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 19:05) *
Это потому у вас такое ровное число:
? Или случайно совпало? sm.gif

Хм, конечно случайно, там ведь время одного прохода вычисляется в плавучке.
Просто у меня точность измерения общего отрезка времени выполнения функции идёт до микросекунды sm.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 17:40
Сообщение #95


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Тогда подправьте в тесте формат выдачи результата, чтоб было типа
Код
Microseconds for one run through Dhrystone: 6.002

, так будет видно микросекундное разрешениеsm.gif

Цитата(AHTOXA @ Jun 14 2011, 21:05) *
Вот держите, весь проект (с *.o): Прикрепленный файл  dhrystone.7z ( 132.54 килобайт ) Кол-во скачиваний: 87

Упс, накладочка вышла. Так не заработает. Чтоб заработало, надо в makefile исправить
USE_LTO = YES
на
USE_LTO = NO
. Это я пытался улучшить результат, но не заработало.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 15 2011, 01:48
Сообщение #96


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 21:40) *
Тогда подправьте в тесте формат выдачи результата, чтоб было типа
Код
Microseconds for one run through Dhrystone: 6.002

, так будет видно микросекундное разрешениеsm.gif

Это уже будет нано- и пико- секундное разрешение sm.gif
А если серьёзно, то ничего так не будет видно, после вычисления на основе double переменных дробные значения получатся хоть из целых секунд.
Чтобы увидеть разрешение таймера нужно распечатать полученное общее время теста, или разницу между Begin_time и End_time.
В моём случае Begin_Time всегда равно нулю, поэтому достаточно только End_Time, в микросекундах:
Код
EndTime: 3035526
Microseconds for one run through Dhrystone: 6.0710520000
Dhrystones per Second:                        164716.1
VAX MIPS rating =     93.748
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 15 2011, 03:35
Сообщение #97


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 15 2011, 07:48) *
А если серьёзно, то ничего так не будет видно, после вычисления на основе double переменных дробные значения получатся хоть из целых секунд.

Я не о томsm.gif Просто после того, как у меня получилось усечение секунд до целых (с изрядным улучшением результата теста), я с подозрением отнёсся к
Microseconds for one run through Dhrystone: 6.0.
Вот так - совсем другое дело:
Microseconds for one run through Dhrystone: 6.0710520000
sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 16 2011, 13:16
Сообщение #98


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

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



проверил еще на IAR V6.20.3.22642
iccarm --thumb --cpu Cortex-M3 --aapcs std --aeabi -Ohs -r -e
Код
Microseconds for one run through Dhrystone: 21
Dhrystones per Second:                      47619
VAX MIPS rating = 27.102

все функции мои, библиотечные не использовал.
для сравнения тот же код на gcc
arm-none-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar -g
Код
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.955

Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2011, 13:24
Сообщение #99


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(brag @ Jun 16 2011, 17:16) *
все функции мои, библиотечные не использовал.

Все - это которые? Strcpy и Strcmp?
Ну а смысл? Ведь судя по результату - реализация очень слабая... rolleyes.gif

ЗЫ: а printf тоже ваша собственная? sm.gif
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 16 2011, 14:12
Сообщение #100


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

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Все - это которые? Strcpy и Strcmp?
Ну а смысл? Ведь судя по результату - реализация очень слабая...

смысл - gcc че-то в free-standing глючит с библиотечными.
а реализация нормальная, просто компиллер, когда копирует строковые константы иногда может хитрый код генерить. в данном случаи
Код
strcpy (Ptr_Glob->variant.var_1.Str_Comp,"DHRYSTONE PROGRAM, SOME STRING");

он взрулил. в других случаях,где идет у меня работа с usb-дескрипторами он вообще хочет вызывать обычную strcpy, реализация которой ничем не лучше(и не хуже) моей.

Цитата
ЗЫ: а printf тоже ваша собственная?

да, простой. не хотел запариватся обучать gcc-шный, как правильно работать под моей системой, с моими драйверами, куда собственно выводить итп, а если он еще кучи использует, так вообще пахать не будет, у меня нету куч,статика чисто.
проще свой написать, всего каких-то там 120 строчек кода
и инлайны memxxx и strxxx все вместе 70 строчек кода

попробую еще какой-нибудь ogg или jpeg запихнуть, посмотрим как оно
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2011, 14:35
Сообщение #101


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(brag @ Jun 16 2011, 18:12) *
попробую еще какой-нибудь ogg или jpeg запихнуть, посмотрим как оно

Только как бы это сделать попроще? Без файловой системы, для чистоты эксперимента? Там ведь объёмы в сотни килобайт\мегабайты sad.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2011, 14:39
Сообщение #102


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 16 2011, 18:35) *
Только как бы это сделать попроще? Без файловой системы, для чистоты эксперимента? Там ведь объёмы в сотни килобайт\мегабайты sad.gif

JPEG в качестве теста пробовал. На МК без внешней памяти исходную картинку кладем во флеш, результат в RAM. Сотен килобайт не нужно, достаточно пары десятков.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 16 2011, 15:13
Сообщение #103


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(brag @ Jun 16 2011, 19:16) *
Код
VAX MIPS rating = 29.955

Может у вас с частотой чего не того? Что-то совсем грустно получаетсяsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2011, 17:28
Сообщение #104


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 16 2011, 18:39) *
JPEG в качестве теста пробовал. На МК без внешней памяти исходную картинку кладем во флеш, результат в RAM. Сотен килобайт не нужно, достаточно пары десятков.

Ну а исходники можно попросить выложить? Если они не коммерческие, конечно?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2011, 17:34
Сообщение #105


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 16 2011, 21:28) *
Ну а исходники можно попросить выложить? Если они не коммерческие, конечно?

Можно, они гнутые и не мои. Уже когда-то здесь проскакивали, я только по минимуму что-то причесывал на предмет производительности.
Прикрепленный файл  jpeg.rar ( 26.23 килобайт ) Кол-во скачиваний: 96
Go to the top of the page
 
+Quote Post

9 страниц V  « < 5 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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