Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2011, 20:09   #31
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
Это не ломает конвеер процессора.
Теперь меня беспокоит только один вопрос: что нужно сделать, чтобы сломать конвейер?
f.hump вне форума Ответить с цитированием
Старый 08.06.2011, 20:22   #32
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Сообщение от Blade
И тот кто читает код, не должен гадать, почему же в 100 случаях до этого написано ++i, а теперь вдруг i++
Постфиксный вариант должен использоваться, как я полагаю, по назначению, т.е. для инкремента переменной после выполнения данной строки. А если человек будет гадать, то он, видимо, не знает чем отличаются префиксная и постфиксная формы и нечего было ему этот код тогда вообще давать)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 09.06.2011, 07:33   #33
FiloXSee
Пользователь
 
Регистрация: 07.06.2011
Сообщений: 28
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
Теперь меня беспокоит только один вопрос: что нужно сделать, чтобы сломать конвейер?
Оператор if его ломает. Все команды идут в командном буфере последовательно. Плюс работает Бранч предикшин (предсказание ветвлений). И процессор выполняет код по одной из веток пока результат условия еще не известен. Но если предсказание не удалось (а это будет в 50-ти процентах случаев, если результаты условия равновероятны) то процессор вынужден остановится, выкинуть текущую последовательность команд, записать туда команды из другой ветки и пойти дальше.

Команды процессор выполняет на конвейере (т.е. одна команда может представлять собой несколько действий (особенно в CISC процессорах): считать из памяти, вычислить, записать). Он то и ломается на операции if, приходится все начинать сначала.
Портал "It Works" (http://itw66.ru), на котором веду множество блогов по программированию и философии (FiloXSee).
FiloXSee вне форума Ответить с цитированием
Старый 09.06.2011, 09:06   #34
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

как по мне, так сейчас такие машины, которые данные "оптимизации" даже не заметят.
вот если бы это было лет 10-15 назад...
revaldo666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методы оптимизации Lazio Фриланс 3 11.12.2010 12:05
методы оптимизации первого порядка Olenka555 Помощь студентам 0 21.05.2010 16:43
Методы оптимизации в Excel Raikhman Microsoft Office Excel 2 10.02.2009 11:17
задачи оптимизации kirasir Microsoft Office Excel 2 08.08.2007 00:40