Форум программистов, компьютерный форум CyberForum.ru

Что быстрее, операция присваивания или сравнения? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: В заданной прямоугольной матрице с количеством строк 2n переставить столбцы в следующем порядке: 1, 2n, 2, 2n–1, 3, 2n–2, … n, n+1 http://www.cyberforum.ru/cpp-beginners/thread834771.html
Пожалуйста помогите с задачей! С++ программа Visual Studio В заданной прямоугольной матрице с количеством строк 2n переставить столбцы в следующем порядке: 1, 2n, 2, 2n–1, 3, 2n–2, … n, n+1. Например, в матрице с шестью столбцами итоговый порядок столбцов должен быть следующим: 1, 6, 2, 5, 3, 4.
C++ Реализация программы(из файл) Здравствуйте.Нужно было реализовать программу и выполнить некоторые ф-ии, ну вообщем воот Реализовать программу, автоматизирующую учет прокатов автомобилей. Первый файл содержит информацию об автомобилях: • Идентификатор (уникальный номер) автомобиля; • Марка; • Модель; • Год выпуска • Пробег • Стоимость аренды в сутки. http://www.cyberforum.ru/cpp-beginners/thread834750.html
C++ Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так попробовал,но выбивает 0:( #include <iostream> #include <conio.h> #include <stdio.h> int main() {
C++ Описать структуру с именем STUDENT
Помогите пожалуйста написать программу на C++ для Visual Studio. Описать структуру с именем STUDENT, содержащую следующие поля:  фамилия и инициалы;  номер группы;  успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:  ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT  упорядочить по возрастанию номера группы;  вывод на...
C++ систему дифференциальных уравнений. метод Эйлера http://www.cyberforum.ru/cpp-beginners/thread834684.html
Решить систему дифференциальных уравнений {y'= y+z+x ниже z'=-4y-3z+2x ,при y(0)=1, Z(0)=0 с заданным шагом h на отрезке , введенных с клавиатуры. Метод Эйлера.
C++ отчет у кого нибудь есть отчет по пр-ке в библиотеке подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,250
Записей в блоге: 1
Завершенные тесты: 1
11.04.2013, 17:38     Что быстрее, операция присваивания или сравнения?
Цитата Сообщение от abit Посмотреть сообщение
вообще сравнение и тем более на не-ноль jnz/test быстрее чем mov [mem],1 с точки зрения ассемблерного представления
jnz - это не сравнение, а условный переход (jump if not zero, переход если флаг ZF не выставлен). Сравнение, как правило, выполняется до jnz.
И почему "тем более"? инструкции jcc выполняются за одинаковое время.

По сабжу - вариант без if'а (т.е. просто присваивание) будет быстрее. Т.к. с условным переходом, помимо всего прочего, еще будет задействовано предсказание переходов, которое может тормозить процессор сильнее, чем простое присваивание.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru