Исследование эффекта кэш-памяти
- Изучите механизм повышения процента кэш-попаданий за счёт изменения временной и пространственной локальности по приложенной статье.
- Используя код блочного перемножения матриц, приведённый в статье, реализуйте две тестовые программы для заполнения случайными числами и перемножения квадратных матриц NxN:
- использующую стандартный алгоритм;
- использующую блочное представление и модифицированный алгоритм.
- Выполните серию тестов для нескольких различных значений N и (для второй программы) нескольких различных размеров блока при каждом N, засекая время работы программы командой оболочки time.
- Уточните измерение времени работы алгоритма умножения, окружив код вызовами clock() и рассчитав длительность выполнения в тысячных долях секунды.
- Повторите эксперимент и визуализируйте результаты с помощью какого-нибудь средства построения графиков.
- Объясните результаты, а также порассуждайте, что извне может повлиять на измеренное время работы алгоритма.