Библиотека knigago >> Компьютеры: Языки и системы программирования >> C, C++, C# >> Оптимизация программ на С++. Проверенные методы для повышения производительности


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 859, книга: Колумбайн
автор: Дейв Каллен

"Колумбайн", написанная Дейвом Калленом, является мощным и проницательным журналистским расследованием одной из самых печально известных школьных стрельб в американской истории. Каллен, опытный журналист, использует архивные материалы, интервью с выжившими, родителями и друзьями стрелков, чтобы создать подробный портрет событий, приведших к трагедии в школе "Колумбайн" в 1999 году. Он развенчивает мифы, окружающие стрелков Эрика Харриса и Дилана Клеболда, и исследует...

Курт Гантерот - Оптимизация программ на С++. Проверенные методы для повышения производительности

Оптимизация программ на С++. Проверенные методы для повышения производительности
Книга - Оптимизация программ на С++. Проверенные методы для повышения производительности.  Курт Гантерот  - прочитать полностью в библиотеке КнигаГо
Название:
Оптимизация программ на С++. Проверенные методы для повышения производительности
Курт Гантерот

Жанр:

C, C++, C#

Изадано в серии:

Бестселлеры o’reilly

Издательство:

ООО "Альфа-книга"

Год издания:

ISBN:

978-5-9908910-6-7

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Оптимизация программ на С++. Проверенные методы для повышения производительности"

Аннотация к этой книге отсутствует.

Читаем онлайн "Оптимизация программ на С++. Проверенные методы для повышения производительности". [Страница - 2]

выполнения
Вызовы операционной системы являются дорогостоящими
С++ тоже лжет
Не все инструкции одинаково дорогие
Инструкции выполняются не по порядку
Резюме

38
39
40
41
41
42
43
43
44
45
46
46
47
47
48

Глава 3. Измерение производительности

49

Оптимизирующее мышление
Производительность должна быть измерена
Оптимизация - большая игра
Правило 90/10
Закон Амдала
Проведение экспериментов
Ведение лабораторного журнала
Измерение базовой производительности и постановка целей
Улучшить можно только измеряемое
Профилирование выполнения программы
Длительно работающий код
"Полузнайство" об измерении времени
Измерение времени с помощью компьютеров
Преодоление проблем измерений
Создание класса-секундомера
Хронометраж функции в тесте
Оценка стоимости кода для поиска узких мест
Оценка стоимости отдельных инструкций С++
Оценка стоимости циклов
Другие пути поиска узких мест
Резюме

50
50
51
51
53
54
56

57
60
60

63
64

69
77

81
85
86
87
88
89
90

91

Гnава 4. Оптимизация испоnьзования строк

Почему строки представляют собой проблему
Строки используют динамическое выделение памяти
Строки как значения
Строки выполняют массу копирований
Первая попытка оптимизации строк
Использование модифицирующих операций для устранения
временных значений
Уменьшение работы с памятью с помощью резервирования
Устранение копирования строкового аргумента
Устранение разыменований с помощью итераторов
Устранение копирования возвращаемого значения
Использование массивов символов вместо строк
Итоги первой попытки оптимизации
Вторая попытка оптимизации строк
Использование лучшего алгоритма
Использование лучшего компилятора
Использование лучшей библиотеки для работы со строками
Использование лучшего менеджера памяти

91
92
92

93
94

96
96

97
98
99
100
102
102
102
104
105
109

Содержа н и е

7

Устранение преобразования строк
Преобразование строк в стиле С в std : : string
Преобразование между кодировками
Резюме
Гnава 5. Оптимизация аnrоритмов

110
111
111

112
113

Временная стоимость алгоритмов
Временная стоимость в наилучшем, среднем и наихудшем случаях
Амортизированная временная стоимость
Прочие стоимости
Оптимизации сортировки и поиска
Эффективные алгоритмы поиска
Временная стоимость алгоритмов поиска
Все поиски равноценны при малых п
Эффективные алгоритмы сортировки
Временная стоимость алгоритмов сортировки
Замена сортировки с плохой производительностью в наихудшем случае
Использование информации о входных данных
Шаблоны оптимизации
Предвычисления
Отложенные вычисления
Пакетирование
Кеширование
Специализация
Гр уппировка
Подсказки
Оптимизация ожидаемого пути
Хеширование
Двойная проверка
Резюме

128
1 28
1 28
129
1 29

Гnава 6. Оптимизация переменных в динамической памяти

131

Переменные С++
Длительность хранения переменной
Владение переменными
Объекты-значения и объекты-сущности
API динамических переменных С++
Автоматизация владения интеллектуальными указателями
Динамические переменные имеют стоимость времени выполнения
Уменьшение использования динамических переменных
Статическое создание экземпляров класса
Использование статических структур данных
Использование std : : make shared вместо new

1 32
1 32
135
1 36
1 38
1 40

8

Содержа ни е

1 15

117
1 18
118
118
1 19
1 19
120

121
121
122

1 23
1 23
1 24
125

1 26
1 26
1 27
127

143

1 44
145
1 46
150

Не следует разделять владение без необходимости
Использование "главного указателя" для владения динамическими переменными
Уменьшение количества перераспределений динамических переменных
Предварительное выделение памяти для динамических переменных
для предотвращения перераспределений
Создание динамических переменных вне циклов
Устранение излишнего копирования
Устранение нежелательного копирования в определении класса
Устранение копирования при вызове функции
Устранение копирования при возврате из функции
Библиотеки без копирования
Реализация идиомы "копирования при записи"
Срезы
Реализация семантики перемещения
Нест а ндар т ная семантика копирования: --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Оптимизация программ на С++. Проверенные методы для повышения производительности» по жанру, серии, автору или названию:

Другие книги из серии «Бестселлеры o’reilly»:

Laravel. Полное руководство. Мэтт Стаффер
- Laravel. Полное руководство

Жанр: PHP

Год издания: 2020

Серия: Бестселлеры o’reilly