скорость сравнения: указатель-указатель против int-int - PullRequest
1 голос
/ 21 мая 2011

На обычных современных процессорах (например, x86, x86_64) есть ли разница в количестве циклов процессора для сравнения двух указателей и сравнения двух целых чисел?

Ответы [ 2 ]

1 голос
/ 21 мая 2011

Весьма вероятно, что на вашу производительность будет влиять то, насколько предсказуемым будет результат сравнения, чем тип сравниваемых значений.Если предсказатель ветвления может сделать это правильно большую часть времени, сравнение, в некотором смысле, «бесплатное».

Также есть неплохой шанс, что кеш будет ограничивающим фактором, если вы не будете осторожныразмер рабочего комплекта.

1 голос
/ 21 мая 2011

Я не уверен, но в x86_64 вы можете иметь int равным 4 байта и указатель 8 байтов. Таким образом, если сравнение двух слов и двух полуслов отличается, должно быть различие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...