Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Какой код быстрее(Си)?

Непрочитано 13.08.2012, 21:41  
dash
Частый гость
 
Регистрация: 19.08.2004
Сообщений: 33
Сказал спасибо: 6
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
dash на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от Hives Посмотреть сообщение
dash или первый и третий. у третьего только c-код красивше.
первый и третий дают разный результат, их нельзя сравнивать
Реклама:
dash вне форума  
Непрочитано 14.08.2012, 09:35  
svad0
Прописка
 
Регистрация: 14.11.2007
Сообщений: 150
Сказал спасибо: 3
Сказали Спасибо 47 раз(а) в 43 сообщении(ях)
svad0 на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

dash, ошибся. Первый вариант будет так:

Код:
(count›=(MAX-1)) ? (count=0) : (count++);
svad0 вне форума  
Непрочитано 14.08.2012, 09:44  
rsrg
Прохожий
 
Регистрация: 05.08.2010
Сообщений: 5
Сказал спасибо: 35
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
rsrg на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Возможно такой код
(count‹MAX) ? (count++) : (count=0);
будет быстрее чем
(count›=MAX) ? (count=0) : (count++);

Стоит проверить скорость выполнения обоих вариантов.
rsrg вне форума  
Непрочитано 14.08.2012, 10:19  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

На АВР самый быстрый - декремент и переход если не 0
Всего одна АСМ-команда и 2...3 цикла

Но это только в том случае, если все равно в какую сторону считать - то есть отмерять количество циклов можно, но считать прошедшее время нельзя
niXto вне форума  
Непрочитано 14.08.2012, 15:16  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от niXto Посмотреть сообщение
На АВР самый быстрый - декремент и переход если не 0
А у меня в любом случае получается 3 такта для обновления счётчика, хоть для декремента, хоть для инкремента.
Сообщение от niXto Посмотреть сообщение
Но это только в том случае, если все равно в какую сторону считать - то есть отмерять количество циклов можно, но считать прошедшее время нельзя
Что значит "считать прошедшее время"?
=GM= вне форума  
Непрочитано 14.08.2012, 15:56  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от niXto Посмотреть сообщение
На АВР самый быстрый - декремент и переход если не 0
Всего одна АСМ-команда и 2...3 цикла
У MCS есть такая комманда (djnz), у PIC-ов есть аналогичные (decfsz, incfsz), а у АВР что-то не припомню.
alvadep вне форума  
Непрочитано 14.08.2012, 16:00  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Ничего не пойму зачем быстрота то? кажись сейчас частоты поваляют выполнять быстро такой небольшой код.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 14.08.2012, 16:27  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от CERGEI1982 Посмотреть сообщение
Ничего не пойму зачем быстрота то?
Особенности национального кодописательства...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 14.08.2012, 18:33  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от CERGEI1982 Посмотреть сообщение
Ничего не пойму зачем быстрота-то? кажись сейчас частоты позволяют выполнять быстро такой небольшой код
Всем хочется ещё быстрее, как можно быстрее..Поэтому от изначального вопроса "Какой код быстрее" скатились в ассемблер.

А вообще, кто бы объяснил: в ветке обсуждается вопрос на си, но за каким-то чертом сишники лезут в ассемблерный листинг, зачем?
=GM= вне форума  
Непрочитано 14.08.2012, 18:35  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Какой код быстрее(Си)?

Сообщение от =GM= Посмотреть сообщение
А вообще, кто бы объяснил: в ветке обсуждается вопрос на си, но за каким-то чертом сишники лезут в ассемблерный листинг, зачем?
Лезут чтобы увидеть какая конструкция дала более эффективный код.
_Артём_ вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой контроллер быстрее дергает ногами ? cignal Микроконтроллеры, АЦП, память и т.д 32 28.03.2010 00:50
В какой программе компелить код (подключение #include ) FedorChek Микроконтроллеры, АЦП, память и т.д 4 04.05.2009 20:00
Во какой код-грабер! retas Отвлекитесь, эмбеддеры! 0 27.01.2009 20:41
преобразователь код-код zazan111 TTL и CMOS логика 18 05.01.2009 06:11
[Решено] Почему SATA быстрее ATA и т.д. Дима Ремонт оргтехники 7 15.01.2004 22:41


Часовой пояс GMT +4, время: 09:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.