Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Динамические массивы и кэш процессора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать матрицу с помощью генератора случайных чисел и организовать ее вывод http://www.cyberforum.ru/cpp-beginners/thread1108757.html
Составить программу для подсчета произведения нечетных элементов двумерной матрицы В размерности m × n. Сформировать матрицу с помощью генератора случайных чисел и организовать ее вывод.
C++ Пиксель экрана а можно написать код, который смог бы сделать так, чтобы определенный пиксель экрана был, скажем, зеленого цвета? идеи сделать его битым не принимаются :) http://www.cyberforum.ru/cpp-beginners/thread1108756.html
Сортировка массива C++
Расставить строки массива в порядке убывания сумм их элементов. Я беру двумерный массив, потом записываю в отдельный одномерный массив суммы элементов строк. Элемент получившегося массива - есть...
Изменение приоритета математических операций C++
Здравствуйте, по заданию в лабораторной, нужно написать программу которая будет вычислять значение математического выражения с заданным приоритетом операций(приоритет каждой операции задаётся...
C++ Используя метод вычетов, сгенерировать последовательность из 1000 псевдослучайных чисел http://www.cyberforum.ru/cpp-beginners/thread1108735.html
Вообщем есть задание. 1. Используя метод вычетов, сгенерировать последовательность из 1000 псевдослучайных чисел, результат вывести на экран. 1.1. Оценить математическое ожидание полученной...
C++ Вычисление по формуле Вычислить значение формулы, вот код: #include <iostream> #include <Windows.h> #include <math.h> using namespace std; void main() { подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17818 / 6028 / 388
Регистрация: 30.03.2009
Сообщений: 16,555
Записей в блоге: 26
02.03.2014, 14:52
Согласен с тем, что это ересь, но, тем не менее, ТС что-то пытается экспериментировать, а потому полезно бы почитать ссылку: Замеры скорости работы malloc'а на Windows и Linux

Вкратце смысл такой, что malloc/realloc выделяет динамическую память, не обращаясь при этом к физической памяти. Т.е. если ты обращаешься к самому первому и к самому последнему элементу массива, то реально подкачается в память только две страницы в памяти. А в кэш попадёт всего 2 строки кэша (cache line). Хз какой размер строки на интеле, но оно измеряется величинами типа 256 байт. Т.е. если ты хочешь, чтобы данные были в кэше, нужно залить данными весь массив с интервалом не больше, чем размер строки кэша, потом это дело прочитать и при этом хоть как-то проверить, что в процессе всего этого не произойдёт переключение задач и уход в ОС. В противном случае твоя программа будет измерять неизвестно что
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru