Мощь и беспомощность автоматической оптимизации


Мощь и беспомощность автоматической оптимизации

Мощь и беспомощность автоматической оптимизации

Введение
Что не надо оптимизировать
Константная подстановка в условиях
Листинг1 не оптимизированный вариант
Листинг2 оптимизированный вариант
Удаление копий переменных
Листинг 3 переменные a и b — лишнее
Устранение хвостовой рекурсии
Листинг 5 хвостовая рекурсия до оптимизации
Листинг6 хвостовая рекурсия после оптимизации

Что надо оптимизировать
Удаление неиспользуемых функций
Внос инвариантных функций из циклов
Листинг 7 не оптимизированный вариант с инвариантом в теле цикла
Нормализация циклов
Листинг 9 ненормализованный цикл
Листинг10 нормализованный цикл
Разворот циклов
Листинг 13 цикл до разворота
Листинг14 цикл, развернутый на 4 итерации (меньшей размер, большая скорость)

Программная конвейеризация
Авто-параллелизм
Листинг 16 не оптимизированный вариант
Листинг17 оптимизированный вариант
Упорядочивание обращений к памяти
Листинг 20 обработка массивов по столбцам (не оптимизированный вариант)
Листинг21 обработка массивов по столбцам (оптимизированный вариант)
Удаление лишних обращений к памяти
Листинг 24 пример с лишними обращениями к памяти, от которых нельзя избавиться
Листинг25 пример с лишними обращениями к памяти, от которых можно избавиться вручную

Регистровые ре-ассоциации
Листинг 27 не оптимизированный кандидат на регистровую ре-ассоциацию
Заключение

Операционные системы и программное обеспечение на платформе zSeries

z/OS представляет собой новейшую операционную систему, спроектированную и разработанную для серверов zSeries с учетом перехода на 64-разрядную архитектуру. Как представитель семейства MVS, z/OS унаследовала основные конструктивные элементы своей предшественницы OS/390, сохранив и развив ее базовые возможности. Поэтому рассмотрение архитектуры z/OS целесообразно начать с исторического обзора, раскрывающего особенности технологии MVS и основные этапы совершенствования ОС вместе с совершенствованием аппаратной платформы
Однако в начале введем несколько важнейших понятий, которые помогут сориентироваться тем читателям, которые только начинают знакомиться с мэйнфреймами IBM.

Элементы z/OS
Понятие задания
Назначение и возможности z/VM
Основные определения и концепции

Содержание раздела