"Рог изобилия полезных советов - своевременных, иногда анекдотичных и всегда в точку. Справочник, показывающий новое лицо C++".
— Джерри Тан, старший программист в The Depository Trust & Clearing Corporation
В современном быстром мире производительность программы является для клиентов таким же важным свойством, как и ее функциональные возможности. В данном практическом руководстве изложены основные принципы производительности, которые позволяют разработчикам оптимизировать программы на языке C++. Вы узнаете, как писать код, который воплощает наилучшие практики проектирования C++, работает быстрее и потребляет меньше ресурсов на любом компьютере — будь то часы, телефон, рабочая станция, суперкомпьютер или охватывающая весь земной шар сеть серверов.
Автор книги на нескольких примерах запущенного кода демонстрирует, как применять описанные принципы для постепенного улучшения существующих программ, чтобы привести их в соответствие самым высоким требованиям заказчика в отношении быстродействия и пропускной способности. Вы по достоинству оцените советы, приведенные в этой книге, когда услышите от коллеги "Не может быть! Кто и как сумел это сделать?"
Обнаружение узких мест программы с помощью профилировщика и программных таймеров
Проведение экспериментов по измерению повышения производительности в связи с изменением кода
Оптимизация использования динамически выделяемой памяти
Повышение производительности циклов и функций
Ускорение обработки строк
Применение эффективных алгоритмов и шаблонов оптимизации
Сильные и слабые стороны контейнеров C++
Оптимизирующий взгляд на поиск и сортировку
Эффективное использование потоков ввода-вывода C++
Эффективное использование многопоточности C++
Author(s): Курт Гантерот
Publisher: Диалектика
Year: 2017
Language: Russian
Pages: 400
City: СПб.
Предисловие
Глава 1. Обзор оптимизации
Глава 2. Оптимизация, влияющая на поведение компьютера
Глава 3. Измерение производительности
Глава 4. Оптимизация использования строк
Глава 5. Оптимизация алгоритмов
Глава 6. Оптимизация переменных в динамической памяти
Глава 7. Оптимизация инструкций
Глава 8. Использование лучших библиотек
Глава 9. Оптимизация сортировки и поиска
Глава 10. Оптимизация структур данных
Глава 11. Оптимизация ввода-вывода
Глава 12. Оптимизация параллельности
Глава 13. Оптимизация управления памятью
Предметный указатель