Описание
В книге сделан исчерпывающий анализ низкоуровневого устройства процессоров, их архитектур, инструкций, кэша и тонких аспектов оптимизации производительности. На материале тщательно подобранных кейсов, разнообразных бенчмарков и измерений книга демонстрирует потенциально узкие места в работе процессора, устранив которые путем разумных компромиссов можно нарастить его производительность. Рассмотрены инструменты для анализа производительности CPU, средства оптимизации вычислений, доступа к памяти, компоновки памяти, а также детали работы с регистрами и машинным кодом. Особое внимание уделено оптимизации многопоточных приложений.
Книга будет полезна опытным специалистам по разработке программного обеспечения, включая разработчиков приложений, библиотек, компиляторов и операционных систем, а также исследователям и ученым-информатикам.
Для программистов
Низкоуровневая оптимизация
Почему стоит читать эту книгу?
Современное программное обеспечение очень неэффективно. Процессоры обычно исполняют плохо оптимизированный код, который потребляет больше энергии, чем мог бы, и тем самым способствует выбросам углерода и другим экологическим проблемам. Неэффективное программное обеспечение снижает прибыль компаний и уменьшает их рыночную стоимость. В течение многих лет оптимизация производительности процессоров и чипов считалась узкоспециализированным занятием для «гиков», но сейчас она выходит в мейнстрим, поскольку поставщики программного обеспечения осознают, какое влияние плохо оптимизированный код оказывает на их финансовые показатели. Производительность кода — один из ключевых факторов успеха.
Чему вы научитесь?
Эксперт по производительности вычислительных машин Денис Бахвалов объясняет, как делать низкоуровневые оптимизации с использованием продвинутых методов и инструментов. Прочитав эту книгу, вы сможете находить причины снижения производительности своего приложения и находить разнообразные возможности его оптимизации. Книга изобилует практическими примерами и упражнениями.
Книга посвящена низкоуровневой оптимизации производительности: от анализа архитектуры CPU до работы с регистрами и машинным кодом
Ключевые темы:
- Как правильно измерять производительность кода
- Архитектура современных процессоров
- Обзор техник и инструментов для анализа производительности
- Аппаратные средства для анализа производительности (счетчики и другие механизмы)
- Способы оптимизации доступа к памяти и вычислений
- Устранение промахов в кэше и неправильно предсказанных ветвлений
- Оптимизация раскладки машинного кода
- Векторизация и другие компиляторные оптимизации

Денис Бахвалов начал работу программистом в 2008 году и посвятил большую часть своей карьеры оптимизации взаимодействия между процессором и программным обеспечением. Работая в компании Intel, внедрил множество улучшений производительности в широко используемые промышленные приложения и бенчмарки. Является автором онлайн-курса «Performance Ninja» и ведет свой блог на сайте easyperf.net.






Отзывы
Отзывов пока нет.