stm32 cubeide два инкремента не совместимы.

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Да сколько можно хрень нести? Это уже не смешно. Если бы в 2022 году один компилятор давал на ARM на 47% быстрее код, то отстающие наложили бы на себя руки.
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Один и тот же код, одна и та же тактовая частота, одно и то же значение в USART1->BRR 0x00000682, скорость USART 19200
Спойлер

Код: Выделить всё

start-end = 129(69)		enter

CMD > start-end = 210(135)	TOGGLE

CMD > start-end = 266(187)	COUNT=4578
В скобках указаны такты iar.
На сколько я могу судить, iar быстрее выполняет код.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Если бы ещё IAR код исполнял...
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Так так, VladislavS не верит в возможности своего компилятора, а как же тогда "легенда" об эффективности создаваемого кода iarом? Или это только легенда?
Может проект полностью посмотришь? Может не так мерю, не так смотрю, или еще что? Там всего две функции.

Хотя ладно, наигрался я, в топку.
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4180515#p4180515"]Так так, VladislavS не верит в возможности своего компилятора,[/uquote]Моего? С каких пор я в IAR Systems стал работать?

[uquote="Dimon456",url="/forum/viewtopic.php?p=4180515#p4180515"]а как же тогда "легенда" об эффективности создаваемого кода iarом? Или это только легенда?[/uquote]Речь о единицах процентов по сравнению с GCC. С ARM V6 я уже не уверен, надо проверять. Но не о безумных 47% же.

[uquote="Dimon456",url="/forum/viewtopic.php?p=4180515#p4180515"]Может проект полностью посмотришь?[/uquote]Вот мне больше делать нечего.

[uquote="Dimon456",url="/forum/viewtopic.php?p=4180515#p4180515"]Может не так мерю, не так смотрю, или еще что?[/uquote]Мы уже 13-ю страницу темы над твоими тестами всем аулом ржём.
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

VladislavS писал(а):Мы уже 13-ю страницу темы над твоими тестами всем аулом ржём.
Раз на большее вас не хватило.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Да куда уж мне. Я вообще программировать то никогда не пробовал.
СпойлерВзял первый попавшийся проект. Управление приёмо-передающим модулем АФАР с компьютера через технологическую плату. Собрал компиляторами IAR и GCC из одних исходников, с примерно одинаковыми настройками. Разница 7 долбаных байт на 4,5к кода. Ради этого заморачиваться? Да ну на. Какой код быстрее не измерял - пофиг.
ИзображениеИзображение
ppm_gcc.png
(55.27 КБ) 102 скачивания
ppm_iar.png
(82 КБ) 110 скачиваний
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Даже и не знаю, полностью процитировать тебя или как?[uquote="VladislavS",url="/forum/viewtopic.php?p=4167522#p4167522"]Для меня размер кода вообще на последнем месте. Для меня главное скорость.[/uquote]Всем известно, что iar генерирует более оптимальный код, и не одна версия GCC еще не смогла преодолеть его.
Это не хвост, это антенна
Сообщения: 1339
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

У всех компиляторов есть особенности: один лучше строит код для вычисления выражений, другой лучше отслеживает вызовы и доступ к памяти. Поэтому программа, написанная "под IAR" может быть на 5-10% меньше по размеру, чем "под Keil", и на столько же быстрей. Справедливо и обратное. Этом явствует из неоднократных тестов разных компиляторов, которые делали серьёзные дядьки из недетских контор. Ни о каких 47% речи никогда даже не шло! Даже бесплатный GCC не сильно отстаёт от коммерческих компиляторов, разница укладывается в 5-15%. Замечу, что я привожу цифры, примерно, пятилетней давности, ибо с тех пор лично мне пофиг, каким компилятором собирать свои программы. VladislavS очень верно сказал:
VladislavS писал(а): Мы уже 13-ю страницу темы над твоими тестами всем аулом ржём.

Да сколько можно хрень нести?
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Эх вы, спецы, особенно VladislavS, да iar мне просто заинлайнил все функции.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Кто-то запрещал сделать то же самое на GCC?
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Интересно было бы кусок кода увидеть и асмовый листинг, что с ним "яр" делает. Сильно сомневаюсь, что он значительно лучше оптимизирует, чем gcc.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

К сожалению, а может и к счастью, сейчас глядя на листинг не скажешь какой код выполняется быстрее. Конвейер, кэши, предвыборки, разные шины доступа к коду и данным... Тут тебе не AVR. Я недавно делал тему про то как IAR код строит, там один пример есть. И ещё раз, речь не о значительно, ни о каких 146% речи нет. Ссылка на тему.
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4180701#p4180701"]Всем известно, что iar генерирует более оптимальный код, и не одна версия GCC еще не смогла преодолеть его.[/uquote]Более оптимальный код генерирует мозг программиста.
Только именно "программиста", а не быдлокодера.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

jcxz писал(а):Только именно "программиста", а не быдлокодера.
Но не у всех же мозг программиста.
Вот тебе, для примера, одна из функций
Спойлер

Код: Выделить всё

static bool respcmp(char *s, const char  *resp)
{
	while(*resp)
		if(*resp++ != *s++) return false;
	return true;
}
если что, ей заменил библиотечную функцию strcmp
сделай из нее шедевр, если у тебя действительно мозг программиста.

Ладно, все в топку, инлайн этих двух функций показал такой результат, на gcc version 4.8.4 удалось добиться отставания на 14-19%.
Тогда как gcc version 10.3.1 показал отставание всего на 6-10%.
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Сообщение a797945 »

дима-тролль, притомил ты своими наездами
через провокацию хошь надыбать грамотного кода?
твои тесты убедительны только для тебя самого.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

А ты, оскорблениями.
Я считаю быдлокод тот код, который развернут страниц на 15, и этот код понятен только автору.
a797945 писал(а):через провокацию хошь надыбать грамотного кода?
А почему бы и нет, что в этом плохого?
a797945 писал(а):твои тесты убедительны только для тебя самого.
Да же если и так, я для себа делаю выводы, можете не соглашаться, это ваше (относится ко всем, а не к одному человеку) право.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Помните спецы я вам говорил что мерцание сектров цифр lcd вот закоментированный буфер если я через него прописую идёт мерцание
в чём дело.Почему так.?Кто может обьяснить из котов или дюдюка?
Спойлер

Код: Выделить всё

//char  buf[20];
char buf1[20];
Добавлено after 41 second:
А буферов 8
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Возможно выход за пределы массива.
В большинстве случаем компилятор предупреждает, а в отладчике это было бы видно.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Каким образом видно было?.Я не создавал массив.У меня просто куча буферов.
Ответить

Вернуться в «ARM»