Интел услужливо предоставляет прагму предварительной выборки;например,
#pragma prefetch a
for(i=0; i<m; i++)
a[i]=b[i]+1;
будет предварительно выбирать a
на определенное количество циклов цикла вперед, как определено компилятором.
Но что, если a
не массив, а класс с[]
переопределено?Если operator[]
делает простой доступ к массиву, может ли предварительная выборка все еще использоваться таким образом?
(Предположительно, этот вопрос относится и к std::vectors
).