Читает следующую статью http://igoro.com/archive/gallery-of-processor-cache-effects/ Что я думаю, это довольно интересно.примеры из «Галерея эффектов кеш-памяти процессора» и результаты воспроизведения
Я стараюсь следовать примерам и воспроизводить результаты из каждого примера. В примере 3 они говорят о фрагменте кода и его результате, который я нахожу не совсем понятным. Они упоминают, что для каждого размера массива производительность, которую я действительно понимаю. Но, конечно, часть кода не совсем полная.
Вот код
int steps = 64 * 1024 * 1024; // Arbitrary number of steps
int lengthMod = arr.Length - 1;
for (int i = 0; i < steps; i++)
{
arr[(i * 16) & lengthMod]++; // (x & lengthMod) is equal to (x % arr.Length)
}
Но мой вопрос, решает вокруг создания этого массива разного размера. Он говорит, что в тексте: «Мы будем экспериментировать с различными размерами массива» В то время как во всех примерах выше этого использует следующий массив:
int[] arr = new int[64 * 1024 * 1024];
Я просто путаться с
int[] arr = new int[64 * 1024 * 1024];
int steps = 64 * 1024 * 1024;
Would Мне нужно изменить arr [] и шаги или просто arr []?
благодаря
Я уверен, что у них есть. Теперь притворитесь, что они здесь читают ваш пост прямо сейчас ... как вы думаете, что они ответят на сообщение, в котором нет контекста о том, что ваша проблема, и нет прямого запроса? Они собираются перейти к следующему человеку, которому нужна помощь. И выберите язык. Большинство ответов будут немного отличаться в зависимости от языка. –
Что значит «делать» в этом контексте? –
Не добавляйте теги только потому, что синтаксис подобен! – Olaf