2013-03-19 15 views
1

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

При работе со смежным набором данных существует ли разница в функциональности или производительности при назначении нового значения указателю против использования арифметики указателя для перехода в нужное место?

Например, при переходе к следующему члену данных я мог бы просто увеличить свой указатель на один или назначить мой рабочий указатель на этот адрес памяти (при условии, что я уже имел его по какой-либо причине).

Работает под управлением Windows с использованием Visual Studio 2012 в качестве компилятора.

+1

Существует ли предсказуемый шаблон, в котором вы будете обращаться к членам этой структуры данных или будет полностью произвольным доступом? – Alex

+0

Он разбит на блоки предсказуемых данных, но расстояния между блоками не всегда одинаковы. Итак, немного обоим. – Evan

ответ

2

Что касается производительности, в последнее время (see this link, есть ссылка на видео хорошего разговора, которое он дал там), вы должны предпочесть индексирование в массив по арифметике указателей для непрерывного доступа на современных машинах.

Однако для оптимизации существует одно вневременное правило: измерьте его! :)

Без дополнительной информации мне нечего сказать Re: различия в функциональности, отличные от «нет».

Смежные вопросы