Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> оптимизация 
V
    Опции темы
wlad110
Дата 26.6.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



Ну думаю не стоит обсуждать что по возможности стоит передавать объекты по ссылке вместо по значению, предпочитать префиксную записать ин/декремента и т.п.
Но вот прочел в какойто статейке кое-что новое для себя, а именно:

что следует при возможности использовать счетный цикл с понижением счетчика,
например for(int i = 100; i!=0; --i) вместо for(int i = 0; i<100; ++i)

сравнение с нулём происходит быстрее чем с другим значением

ну и там еще что-то..


Вопрос в том что, верны ли эти утверждения для  C/C++? предполагю что это больше зависит от железа, но всё же.. )
И может кто-нибудь дополнить этот список или ссылку дать, ?

Это сообщение отредактировал(а) wlad110 - 26.6.2009, 11:31
PM MAIL   Вверх
zim22
Дата 26.6.2009, 11:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(wlad110 @  26.6.2009,  11:30 Найти цитируемый пост)
что следует при возможности использовать счетный цикл с понижением счетчика,

вы понимаете, что понижение счётчика - это представление последовательности в инвертированном порядке?
***
преждевременная оптимизация - зло.


--------------------
PM MAIL   Вверх
wlad110
Дата 26.6.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



Цитата(zim22 @ 26.6.2009,  15:59)
Цитата(wlad110 @  26.6.2009,  11:30 Найти цитируемый пост)
что следует при возможности использовать счетный цикл с понижением счетчика,

вы понимаете, что понижение счётчика - это представление последовательности в инвертированном порядке?
***
преждевременная оптимизация - зло.

Да, я ведь написисал что при возможности, например нужно выполнить что-то для всех элементов массива ну или сумму посчитать. for_each, accumulate не предлагать smile

А насчет преждевременной, это спорно в данном случае, это программу не усложняет и никаких побочных эффектов не должно принести.
PM MAIL   Вверх
Lazin
Дата 26.6.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



компилятор может в некоторых случаях инвертировать цикл
PM MAIL Skype GTalk   Вверх
zim22
Дата 26.6.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(wlad110 @  26.6.2009,  12:03 Найти цитируемый пост)
, это программу не усложняет и никаких побочных эффектов не должно принести

исходники будут читать люди, а не компьютеры. и чем яснее будет логика - тем лучше. не нужно трюкачества. в конце профилировщиком по коду пройдёте - и оптимизируете при надобности.
***
читаю я книгу "Фундаментальные алгоритмы на С++". 
программмист, кjторый переводил код с псевдоязыка на С++ был одержим оптимизацией.
в результате код читать не очень легко. smile
Код

int scan(Item &x) {
  int flag = (cin >> (x.str = &buf[cnt])) != 0;
  cnt += strlen(x.str)  + 1;
  return flag;
}

не уподобайтесь ему  smile 

Это сообщение отредактировал(а) zim22 - 26.6.2009, 13:05


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.