Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как быстрей сравнить 2 unsigned int ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
depank
Как быстрей сравнить unsigned int - надо выкроить мгновения

Щас делаю так

if ( value [i] < (TCNT1 + 25)) {

}

А быстрей можно ? Таймер считайт с частотой 1 Мгц а такт 8 Мгц.

Это нужно для оценки возможно ли будет успеть в прерывание по сранению.
value [i] это величина которую надо затем вписать в регистры сравнения.
Если она мало отличается от того что наcчитал уже таймер то записывать ее туда бесполезно и опсно тем что таймер так и буде считать дальше ...
Dog Pawlowa
Цитата(depank @ Aug 20 2009, 17:10) *
Как быстрей сравнить unsigned int - надо выкроить мгновения


Если строго по теме, не вдаваясь в детали, только на основании той строки, что записана...
Хотя бы уберите индексацию, используйте указатель.
depank
Спасибо. Буду тогда алгоритм менять. Заранее группировать близкие события. Сложновато будет, но попробую.
arttab
то что Вы пишите через указатель или индекс еще ни чего не значит. компилятор сам думает как это реализовать.
посмотрите что и как делает компилятор. возможно придется применить директивы или сделать асм вставки
dxp
Цитата(Dog Pawlowa @ Aug 20 2009, 23:18) *
Хотя бы уберите индексацию, используйте указатель.

А какая разница по индексу или через указатель?

2автор: посмотрите кодогенерацию и прикиньте, как бы вы сами на асме написали этот код. Отсюда можно уже начать думать, как еще соптимизировать.
depank
Спасибо. Изголился и перешел на char
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.