Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Инструментарий

Инструментарий Тестеры, паяльники, осциллографы, программаторы, IDE.

Ответ
 
Опции темы Опции просмотра
Старый 27.10.2016, 20:04   #1
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,536
Вес репутации: 4887/117
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию как выгоднее по времени

написать в С30 для PIC24

WORD *ptr;
.
.
.
for(i=0;i<12;i++)
{
ptr = &c[i];

и работать с ptr для этого i

т.е. *ptr использовать вместо c[i] внутри цикла

или прямо так по c[i] будет быстрее? Никак не пойму, потому что оптимизация каждый вариант так изворачивает что не понятно чего куда делось. "Голые" тесты так вообще игнорит заменяя сразу ответом.
ampersant вне форума   Ответить с цитированием
Старый 27.10.2016, 21:22   #2
alexem
Senior Member
 
Аватар для alexem
 
Регистрация: 08.03.2008
Адрес: Самара
Возраст: 46
Сообщений: 499
Вес репутации: 443/51
alexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nice
По умолчанию Re: как выгоднее по времени

а debugger/stop watch что показывает?
alexem вне форума   Ответить с цитированием
Старый 27.10.2016, 22:19   #3
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,536
Вес репутации: 4887/117
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: как выгоднее по времени

Цитата:
Сообщение от alexem Посмотреть сообщение
а debugger/stop watch что показывает?
говорю же оптимизатор такого нагородил, что вычленить конкретную операцию сложно. stop watch не используется, нужны живые данные почти мегабайт в сек. В дебаг не очень понятно, проскальзывает.

По сему вопрос теоретический.
ampersant вне форума   Ответить с цитированием
Старый 27.10.2016, 23:58   #4
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 52
Сообщений: 1,914
Вес репутации: 3232/95
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
По умолчанию Re: как выгоднее по времени

через указатель быстрее - адрес уже есть и не надо ничего вычислять
__________________
Настройся на хороший день и он таким будет!
Vovka вне форума   Ответить с цитированием
Старый 29.10.2016, 11:25   #5
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,536
Вес репутации: 4887/117
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: как выгоднее по времени

Цитата:
Сообщение от Vovka Посмотреть сообщение
через указатель быстрее - адрес уже есть и не надо ничего вычислять
да странно как то. При работе через указатель в цикле с инкрементом указателя вышло ровно столько же тактов, нежели работать через индекс.
Ровно столько же тактов! Код другой получился, а время тоже самое. С30 это нечто.
ampersant вне форума   Ответить с цитированием
Старый 29.10.2016, 11:49   #6
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: как выгоднее по времени

Цитата:
Сообщение от ampersant Посмотреть сообщение
да странно как то. При работе через указатель в цикле с инкрементом указателя вышло ровно столько же тактов, нежели работать через индекс.
Ровно столько же тактов! Код другой получился, а время тоже самое. С30 это нечто.
да ладно, в стм32 такая же фигня, что индексы, что указатель. давно забил на это, пишу как удобней в контексте.
Greg вне форума   Ответить с цитированием
Старый 31.10.2016, 22:14   #7
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 46
Сообщений: 1,691
Вес репутации: 2423/83
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: как выгоднее по времени

Цитата:
Сообщение от Greg Посмотреть сообщение
да ладно, в стм32 такая же фигня, что индексы, что указатель. давно забил на это, пишу как удобней в контексте.
Это правильнее - не надо считать себя. умнее хорошо оптимизирующего компилятора.
Хотя конечно бывают исключения.
DimaS вне форума   Ответить с цитированием
Старый 02.11.2016, 08:24   #8
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: как выгоднее по времени

Цитата:
Сообщение от DimaS Посмотреть сообщение
Это правильнее - не надо считать себя. умнее хорошо оптимизирующего компилятора.
Хотя конечно бывают исключения.
Особенно если ещё почитывать рекомендации компиляторописателей типа
https://www.iar.com/support/resource...friendly-code/
встречаются достаточно неочевидные вещи...

для кортексов мораль - максимально возможно выбирать типа данных int (а не самый маленький из возможных). В данном случае - int для индекса.

Последний раз редактировалось Greg; 02.11.2016 в 08:49.
Greg вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MPLAB IDE X, как решается вопрос по комментариям на кирилице? Iptash Продукция MICROCHIP 2 13.10.2015 08:52
как победить разницу во времени между FAT32 и NTFS IgorV Общетехнические вопросы 6 31.10.2010 20:17
Вопрос по прерываниям RB7-RB4 KSB31 Продукция MICROCHIP 4 15.08.2010 23:53
Как разрулить прерывания по приоритетам? phase Продукция MICROCHIP 4 18.11.2009 11:42
RC цепочка по питанию PIC, как считать ? Синклер Продукция MICROCHIP 1 20.03.2007 17:26


Часовой пояс GMT +3, время: 00:52.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot