КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 719122 томов
Объем библиотеки - 1437 Гб.
Всего авторов - 276108
Пользователей - 125330

Новое на форуме

Новое в блогах

Впечатления

medicus про Демина: Не выпускайте чудовищ из шкафа (Детективная фантастика)

Очень. Рублёные. Фразы. По несколько слов. Каждая. Слог от этого выглядит специфическим. Тяжко это читать. Трудно продираться. Устал. На 12% бросил.

Рейтинг: +1 ( 1 за, 0 против).
kiyanyn про Деревянко: Что не так со структурой атомов? (Физика)

Первый признак псевдонаучного бреда на физмат темы - отсутствие формул (или наличие тривиальных, на уровне школьной арифметики) - имеется :)

Отсутствие ссылок на чужие работы - тоже.

Да эти все формальные критерии и ни к чему, и так видно, что автор в физике остановился на уровне учебника 6-7 класса. Даже на советскую "Детскую энциклопедию" не тянет.

Чего их всех так тянет именно в физику? писали б что-то юридически-экономическое

  подробнее ...

Рейтинг: +3 ( 3 за, 0 против).
Влад и мир про Сомов: Пустой (СИ) (Боевая фантастика)

От его ГГ и писанины блевать хочется. Сам ГГ себя считает себя ниже плинтуса. ГГ - инвалид со скверным характером, стонущим и обвиняющий всех по любому поводу, труслив, любит подхалимничать и бить в спину. Его подобрали, привели в стаб и практически был на содержании. При нападений тварей на стаб, стал убивать охранников и знахаря. Оправдывает свои действия запущенным видом других, при этом точно так же не следит за собой и спит на

  подробнее ...

Рейтинг: +2 ( 2 за, 0 против).
Влад и мир про Nezloi: Первый чемпион Земли 2 (Боевая фантастика)

Мне понравились обе книги.

Рейтинг: +2 ( 2 за, 0 против).
Влад и мир про ezh: Всадник Системы (Попаданцы)

Прочитал обе книги с удовольствием. Спасибо автору!

Рейтинг: +1 ( 1 за, 0 против).

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

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Оптимизация
программ на с++

Optimized С++

Kurt Guntheroth

Beijing Boston Farnham Sebastopol Tokyo








o·REILLY''

Оптимизация
программ на С++
ПРОВЕРЕННЫЕ МЕТОДЫ
ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ

Курт Гантерот

Москва Санкт-Петербург· Киев


201 7

ББК 32.973.26-018.2.75

Г19

УДК 681.3.о?
Компьютерное издательство "Диалектика"

Зав. редакцией С.Н.

Тригуб

Перевод с анrлийскоrо и редакция канд. техн. наук И.В.

Красикова

По общим вопросам обр ащ айтесь в издательс тво "Диалектика" по адресу:
info@dialektika.com, http://www.dialektika.com

Гl9

Гантерот, Курт.

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

Пер. с анrл. -СпБ.:

ООО "Альфа-книrа� 2017.

-400 с.: ил. - Парал. тит. анrл.

ISBN 978-5-9908910-6-7 (рус.)

ББК 32.973.26-018.2.75

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

ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая
фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства
O'Reilly & Associates.

Authorized Russian translation of the English edition ofOptimized С++©

2016 Kurt

Guntheroth. (ISBN

978-1-491-92206-4).

This translation is puЬlished and sold Ьу permission of O'Reilly Media, lnc., which owns or controls all rights to puЬlish and
sell the same.
All rights reserved. No part of this work may Ье reproduced or transmitted in any form or Ьу any means, electronic or me­
chanical, including photocopying,
recording, or Ьу any information storage or retrieval system, without the prior written permission of the copyright owner and
the PuЬlisher.

Научно-популярное издание
Курт Гаитерот

Оптимизация проrрамм на С++
Проверенные методы для повышения производительности
Литературный редактор
Верстка
Художест ве н ный редактор
Корректор

Л.Н. Красножон
Л.В. Чернокозинская
Е.П.Дынник
Л.А. Гордиенко

Подписано в печать 06.03.2017. Формат 70х100/16.
Гарнитура Times.

Усл. печ. л. 32,25. Уч.-изд. л. 24.41.
Тираж 300 экз. Заказ № 1488.

Отпечатано в АО «Первая Образцовая типография»
Филиал •Чеховский Печатный Двор»

142300, Московская область, г. Чехов, ул. Полиграфистов, д.1

Сайт: www.chpd.ru, E-mail: sales@chpd.ru, тел.

8(499)270-73-59

ООО "Альфа-книга·: 195027, Санкт-Петербург, Магнитогорская ул., д. 30

2 0 17 ,

ISBN 978-5-9908910-6-7 {рус.)

©

ISBN 978-1-491-92206-4 (анrл.)

© 2016, Kurt Guпtheroth

Компьютерное изд-во "Диалектика",

перевод, оформление, макетирование

Оrnавnение
Предисnовие

17

Гnава 1. Обзор оптимизации

23

Гnава 2. Оптимизация, вnияющая на поведение компьютера

37

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

49

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

91

Гnава S. Оптимизация аnrоритмов

113

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

131

Гnава 7. Оптимизация инструкций

173

Гnава 8. Испоnьзование лучших библиотек

213

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

229

Гnава 1 О. Оптимизация структур данных

259

Глава 11. Оптимизация ввода-вывода

293

Глава 12. Оптимизация параллельности

307

Гnава 13. Оптимизация управления памятью

353

Предметный указатель

387

Содержание
Предис11овие

Извинения за код
Использование примеров кода
Соглашения, использованные в книге
Об авторе
Об изображении на обложке
Ждем ваших отзывов!

17
19
19
20
20
20
21

Г11ава 1. Обзор оптимизации

23

Оптимизация - часть разработки программного обеспечения
Эффективность оптимизации
Оптимизируйте!
Наносекунда туда, наносекунда сюда
Стратегии оптимизации кода на С++
Используйте компилятор получше; используйте компилятор лучше
Использование лучших алгоритмов
Использование лучших библиотек
Уменьшение количества выделений памяти и копирований
Устранение вычислений
Использование лучших структур данных
Увеличение параллельности
Оптимизация управления памятью
Резюме

24
25
25
28
28
29
30
32
33
33
34
34
35
35

Г11ава 2. Оптимизация, в11ияющая на поведение компьютера

37

Ложь о компьютерах, в которую верит С++
Правда о компьютерах
Медленная память
Недоступность байтов
Одни обращения к памяти медленнее других
Остроконечные и тупоконечные слова
Количество памяти ограничено
Медленное выполнение команд
Трудное принятие решений
Множественные потоки выполнения
Вызовы операционной системы являются дорогостоящими
С++ тоже лжет
Не все инструкции одинаково дорогие
Инструкции выполняются не по порядку
Резюме

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

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

49

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