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

 
 
> Допустимо ли объявлять 16 регистровых переменных, И не использовать volatile. Проц XMEGA
sigmaN
сообщение Nov 11 2014, 21:22
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Есть у меня друг один, мы с нем вечно холливары устраиваем..
На тему оптимизации и вообще даже IOS vs Android можем обсудить biggrin.gif

В общем в этот раз лень мне с ним спорить сильно и я решил сразу коллективный разум подключить, чтоб было убедительнее..
Ну и для поиска истины, конечно же.

Его идея состоит в том, что на XMEGA регистров аж 32шт и около 16ти из них
вполне допустимо забиндить сразу напеременные чтобы(цитирую)"не было задержек при обращении к памяти".
Переменные эти у него глобальные, часто такие, которые используются одновременно и в прерыванииях и за их пределами.
Т.е. это такая своеобразная альтернатива volatile получается..

Я же утверждаю, что подобное "уменьшение задержек при обращении к памяти" чревато тем, что в других местах оптимизатор, с подрезанными на 16 регистров крыльями, будет выкручиваться как придется, генеря не самый оптимальный код.

Отметим, что разрабатывает он не супер-пупер риалтаймовую систему, а вполне себе многофункциональный прибор с граф.дисплеем, кнопочками, радиомодулями и прочими далекими от риалтайма или интенсивных вычислений фичами...

Как вы считаете, стоит ему научитсья к месту применить volatile?
В своих проектах часто ли вы объявляете регистровые переменные?
Я, например, ни разу не прибегал к такому. Нет, пробовал конечно, но так чтобы вот действительно была в этом необходимость - не было случаев пока.
Кажется регистровые переменные это чуть ли не отголосок прошлого, когда Си компиляторы почти не умели оптимизировать и приходилось как-то выкручиваться....


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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