Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
zasadadada
43 / 9 / 12
Регистрация: 03.05.2013
Сообщений: 543
1

Сравнение скорости, условие или операция

05.03.2015, 18:53. Просмотров 768. Ответов 6
Метки нет (Все метки)

Подскажите, что быстрее сравнить 2 переменные
C++
1
2
3
if(x != y){
 x = y + 1;
}
Или каждый раз расчитывать
C++
1
 x = y + 1;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2015, 18:53
Ответы с готовыми решениями:

Условие с двоеточием. Тернарная условная операция
Все здрасьте. Где то я видел очень полезную вещь, но не могу вспомнить как...

Условие проверки, если делитель =0, то операция невозможна
Написать условие проверки, если делитель =0, то операция невозможна, иначе...

Сравнение скорости
вечер добрый. смотрел задачи на codeforces, и заметил, что 90% решений на с++...

Сравнение скорости вычислений с# и С++
Сделал тестовые расчеты для сравнения скорости расчетов с# и С++ на примере...

Сравнение величин измерения скорости
Написать программу которая должна запросить введение переменных, одна из них...

6
MrGluck
Модератор
Эксперт CЭксперт С++
8105 / 4956 / 1436
Регистрация: 29.11.2010
Сообщений: 13,451
05.03.2015, 18:54 2
Первое должно быть как минимум не быстрее второго ибо его включает.
0
ValeryS
Модератор
7372 / 5573 / 707
Регистрация: 14.02.2011
Сообщений: 18,937
05.03.2015, 18:59 3
Цитата Сообщение от zasadadada Посмотреть сообщение
Подскажите, что быстрее сравнить 2 переменные
а ниче что это разные алгоритмы?
Цитата Сообщение от zasadadada Посмотреть сообщение
if(x != y){
x = y + 1;
}
поменяй на
C++
1
x=y+(x!=y);
этим избежишь ветвления
0
zasadadada
43 / 9 / 12
Регистрация: 03.05.2013
Сообщений: 543
05.03.2015, 19:00  [ТС] 4
Не много не уточнил, к примеру 10 000 итераций в секунду, и условий при которых срабатывает if допустим 100. Внутри простая операция. Что быстрее 10 000 операций, или 9900 проверок + 100 операций.
0
ValeryS
Модератор
7372 / 5573 / 707
Регистрация: 14.02.2011
Сообщений: 18,937
05.03.2015, 19:02 5
Цитата Сообщение от zasadadada Посмотреть сообщение
или 9900 проверок
проверки процессору не страшны
страшны ветвления
если то идти туда иначе иди сюда
1
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
05.03.2015, 19:04 6
Второе будет быстрее, по крайней мере на x86, только какой в этом смысл, если эти варианты дают разный результат?
1
_Ivana
3236 / 1866 / 235
Регистрация: 01.03.2013
Сообщений: 5,110
Записей в блоге: 5
05.03.2015, 20:08 7
Тут еще интересно кто такие x и y. Если целые, то их сравнение - 2 ассемблерные команды - ксор и тест результата на 0. Если даблы, то их сравнивать до бита странно, но можно абсолютно также, быстро - побайтово. А вот единицу прибавлять к даблу будет дорого - если нет математического сопроцессора со встроенной системой команд для плавучки.

ЗЫ а вообще, на вопрос ТС есть 2 ответа - попробуй оба варианта и замерь или посмотри ассемблерный листинг. Можно поиграться с разными опциями оптимизации.
0
05.03.2015, 20:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2015, 20:08

Сравнение скорости работы приложения vs 2010 и vs 2012
При умножении двух динамических матриц размера 1024х1024 чисел типа float, на...

Операция ИЛИ
Добрый вечер) Я новичок в СИ поэтому если вопрос глупый не пинайте) Возможно...

Логическая операция ИЛИ
Добрый день, хотелось бы узнать как ввести логическое ИЛИ при наборе кода, а то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru