Содержание
- 2. Краткое содержание этой серии Фокусы Оптимизация компилятором
- 3. Фокус №1 Создаю глобальный двухмерный массив Заполняю его случайными числами Вычисляю сумму всех элементов: sum +=
- 4. Фокус №1 А как лежит в памяти двумерный массив? uint8_t array[2][4] = { {1,2,3,4}, {5,6,7,8}}; Точно
- 6. Все дело в кэш-памяти Зачем нужен кэш? Чтобы ускорить доступ к часто используемым данным, т.к. оперативная
- 7. А как работает кэш? Кэш состоит из «линий» (cache lines) - при каждом обращении в память
- 8. Кэш Вывод? Последовательный доступ к памяти гораздо быстрее, чем случайный. С точки зрения железа самая быстрая
- 9. Кэш В современных процессорах есть: кэш данных (D-cache) кэш инструкций (I-cache) буфер ассоциативной трансляции (TLB) Как
- 10. Кэш в современном процессоре Intel Core i7-9xx: L1 cache: 64 KiB L2 cache: 256 KiB L3
- 11. Кэш в современном процессоре Время чтения из памяти для Core i7-9xx: L1 - 4 такта. L2
- 12. Кэш Допустим, что два ядра процессора обращаются к одной и той же переменной. Тогда соответствующий кусок
- 13. Кэш Допустим, что два ядра процессора обращаются к двум разным переменным, которые расположены в памяти рядом.
- 14. Фокус №1.5 Возьмем неудачный способ сложения элементов массива (по столбцам). Логично предположить, что чем больше массив
- 15. Ассоциативность кэша А как узнать, закэширована переменная или нет? Кэш прямого отображения - каждый адрес памяти
- 16. Частично ассоциативный кэш Например, 16-входовой частично ассоциативный кэш – линии кэша делятся на 16 групп. Каждая
- 17. Кэш для инструкций Линейный код (без переходов) выполняется быстрее Маленькие программы (которые целиком помещаются в кэш)
- 18. Выводы При оценке быстродействия алгоритма нужно помнить про кэш. Писать быстродействующие программы – это сложно. Тестировать
- 19. Фокус №2 Вариант А: Заполним одномерный массив случайными элементами. Много раз найдем сумму всех элементов больше
- 20. Предсказание переходов Ключевой момент: if (data[c] >= 128) sum += data[c]; Если массив отсортирован – то
- 21. Оптимизация Критерии оптимизации: по объему кода (бинарного файла) по скорости исполнения Иногда можно (и хочется) оптимизировать
- 23. Скачать презентацию


![Фокус №1 А как лежит в памяти двумерный массив? uint8_t array[2][4] =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/992668/slide-3.jpg)















![Предсказание переходов Ключевой момент: if (data[c] >= 128) sum += data[c]; Если](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/992668/slide-19.jpg)

Паблик рилейшнз как вид массовокоммуникационной деятельности
Система поддержки принятия решений. Электромеханика
10u-2a_Кодирование-I
Презентация на тему Звуковые карты
Профессия оператор ЭВМ
Презентация "Создание и настройка диаграмм" - скачать презентации по Информатике
Русские Instagram-маски. Команда вселенная
Аспектно-ориентированный подход к архитектурно-независимому программированию вычислительных систем - язык [email protected]
Создать веб-страницу с HTML
Object Oriented Programming
Наука информатика
Информационная система по учету и контролю технического состояния производственных объектов
Главная хедер и футер для всех
Независимая оценка качества услуг библиотеки
Сеть в компьютерном клубе
Modeling of Netropsin and Proflavin molecules and their components in the programm HyperChem
Установка 1С - Битрикс
Система экспертных продаж
Анализ каналов связи, используемых компанией Смарт Инжиниринг
Презентация на тему Элементы статистической обработки данных
Модуль tKinter
Предсталение информации в компьютере
Графический дизайн
Протоколи управління шлюзами MGCP i MEGACOH 248
Информатика в вопросах и ответах
Цифровые информационные модели. Инжиниринговый сервис нового поколения
Евгений Валентинович Касперский
Преобразование Барроуза Уилера