Оптимизация приложений на платформе .Net

Голдштейн Саша, Зурбалев Дима, Флатов Идо

Код товара: 1891599
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 3
PDF
-33%
1 978
2 951
Доставим в
г. Москва
Планируемая дата
8 мая (Ср)
Курьером
Л-Пост
бесплатно от 10 000 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
Pro. Net Performance
Год издания:
2017 г.
Может быть отгружен товар указанного или более позднего года
Редактор:
Переводчик:

Описание

Характеристики

Увеличение производительности алгоритмов и приложений является чрезвычайно важным аспектом разработки и может дать вам преимущество перед конкурентами, а вашим пользователям обеспечить низкую стоимость владения и удовольствие от использования быстрых и отзывчивых приложений. Данная книга описывает внутренние особенности ОС Windows, среды выполнения CLR и аппаратного обеспечения, влияющие на производительность приложений, а также дает вам знания и инструменты для измерения производительности вашего кода в изоляции от внешних факторов.
Книга наполнена примерами кода на С# и рекомендациями, которые помогут вам выжать максимум возможного из вашего приложения - низкое потребление памяти, согласованную нагрузку на процессор и минимальное количество операций ввода/вывода с сетью и диском.
Издание предназначено для программистов, знакомых с языком С# и платформой.NET.
количество томов
1
количество страниц
524 стр.
переплет
Мягкая обложка
размеры
210x140x28 мм
страна изготовления
Россия
цвет
Чёрный
тип бумаги
офсетная (60-220 г/м2)
наличие иллюстраций
рисунки
тип иллюстраций
черно-белые
формат
60x88/16 (140x205 мм)
ISBN
978-5-94074-944-8, 978-5-97060-487-8
тираж
100 экз.
стандарт
возрастная категория
18+ (нет данных)
вес
код в Майшоп
1891599
язык
русский

Содержание

Предисловие
Об авторах
О научных редакторах
Благодарности
Введение
ГЛАВА 1.
Характеристики производительности
Требования к производительности
Характеристики производительности
В заключение
ГЛАВА 2.
Измерение производительности
Подходы к измерению производительности
Встроенные инструменты Windows
Счетчики производительности
Механизм трассировки событий для Windows
Профилировщики времени
Дискретный профилировщик Visual Studio
Инструментированный профилировщик Visual
Studio
Дополнительные приемы использования
профилировщиков
времени
Профилировщики выделения памяти
Профилировщик выделения памяти Visual Studio
CLR Profiler
Профилировщики памяти
Другие профилировщики
Профилировщики доступа к данным и базам
данных
Профилировщики конкуренции
Профилировщики ввода/вывода
Микрохронометраж
Пример неправильного микрохронометража
Рекомендации по проведению хронометража
В заключение
ГЛАВА 3.
Внутреннее устройство типов
Пример
Семантические отличия между ссылочными типами
и типами значений
Хранение, размещение и удаление
Внутреннее устройство ссылочных типов
Таблица методов
Вызов методов экземпляров ссылочных типов
Блоки синхронизации и ключевое слово lock
Внутреннее устройство типов значений
Ограничения типов значений
Виртуальные методы типов значений
Упаковка
Предотвращение упаковки типов значений с
помощью метода Equals
Метод GetHashCode
Эффективные приемы использования типов
значений
В заключение
ГЛАВА 4.
Сборка мусора
Назначение сборщика мусора
Управление свободным списком
Сборка мусора на основе подсчета ссылок
Сборка мусора на основе трассировки
Фаза маркировки
Фазы чистки и сжатия
Закрепление
Разновидности сборщиков мусора
Приостановка потоков для сборки мусора
Сборщик мусора для сервера
Выбор разновидности сборщика мусора
Поколения
Предположения в основе модели поколений
Реализация поколений в .NET
Куча больших объектов
Ссылки между поколениями
Фоновый сборщик мусора
Сегменты сборщика мусора и виртуальная память
Финализация
Детерминированная финализация вручную
Автоматическая недетерминированная
финализация
Ловушки недетерминированной финализации
Шаблон реализации метода Dispose
Слабые ссылки
Взаимодействие со сборщиком мусора
Класс System.GC
Взаимодействие с применением интерфейсов
размещения CLR
Триггеры сборщика мусора
Эффективные приемы повышения
производительности
сборки мусора
Модель поколений
Закрепление
Финализация
Разные советы и рекомендации
В заключение
ГЛАВА 5.
Коллекции и обобщенные типы
Обобщенные типы
Обобщенные типы в .NET
Ограничения обобщенных типов
Реализация обобщенных типов в CLR
Коллекции
Параллельные коллекции
Проблемы, связанные с кешем
Собственные коллекции
Система непересекающихся множеств
Список с пропусками
Одноразовые коллекции
В заключение
ГЛАВА 6.
Конкуренция и параллелизм
Перспективы и преимущества
Зачем использовать приемы параллельного
программирования?
От потоков к пулам потоков и задачам
Параллелизм задач
Параллелизм данных
Асинхронные методы в C# 5
Дополнительные шаблоны в TPL
Синхронизация
Код без блокировок
Механизмы синхронизации Windows
Вопросы оптимального использования кеша
Использование GPU для вычислений
Введение в C++ AMP
Умножение матриц
Моделирование движения частиц
Мозаики и разделяемая память
В заключение
ГЛАВА 7.
Сети, ввод/вывод и сериализация
Общие понятия
Синхронный и асинхронный ввод/вывод
Порты завершения ввода/вывода
Пул потоков в .NET
Копирование памяти
Чтение вразброс и запись со слиянием
Файловый ввод/вывод
Управление кешированием
Небуферизованный ввод/вывод
Сети
Сетевые протоколы
Сетевые сокеты
Сериализация и десериализация данных
Тестирование производительности средств
сериализации
Сериализация объектов DataSet
Windows Communication Foundation
Пороговые значения
Модель обработки
Кеширование
Асинхронные клиенты и серверы WCF
Привязки
В заключение
ГЛАВА 8.
Небезопасный код и взаимодействие с ним
Небезопасный код
Закрепление объектов в памяти и дескрипторы
сборщика мусора
Управление жизненным циклом
Выделение неуправляемой памяти
Использование пулов памяти
P/Invoke
PInvoke.net и P/Invoke Interop Assistant
Привязка
Заглушки маршалера
Двоично совместимые типы
Направление маршалинга, ссылочные типы и типы
значений
Code Access Security
Взаимодействие с COM-объектами
Управление жизненным циклом
Маршалинг через границы подразделений
Импортирование библиотек типов и Code Access
Security
NoPIA
Исключения
Расширения языка C++/CLI
Вспомогательная библиотека marshal_as
Код на языке IL и неуправляемый код
Взаимодействие со средой выполнения WinRT в
Windows 8
Эффективные приемы взаимодействий
В заключение
ГЛАВА 9.
Оптимизация алгоритмов
Систематизация сложности
Большое О
Машины Тьюринга и классы сложности
Мемоизация и динамическое программирование
Расстояние Левенштейна
Кратчайший путь между всеми парами вершин
Аппроксимация
Задача коммивояжера
Задача о максимальном разрезе
Вероятностные алгоритмы
Вероятностное решение задачи о максимальном
разрезе
Тест простоты Ферма
Индексирование и сжатие
Кодировка переменной длины
Сжатие индексов
В заключение
ГЛАВА 10.
Шаблоны оптимизации производительности
Оптимизации JIT-компилятора
Стандартные оптимизации
Встраивание методов
Отключение проверки границ
Хвостовые вызовы
Производительность на этапе запуска
Предварительная JIT-компиляция с помощью
NGen (Native Image Generator)
Фоновая JIT-компиляция в многопроцессорных
системах
Упаковщики образов
Управляемая оптимизация на основе
профилирования
Различные советы по оптимизации времени
запуска
Аппаратно-зависимые оптимизации
Единственный поток команд и множество потоков
данных
Распараллеливание инструкций
Исключения
Механизм рефлексии
Генерация кода
Генерация из исходного кода
Генерация кода с использованием легковесного
генератора кода
В заключение
ГЛАВА 11.
Производительность веб-приложений
Измерение производительности веб-приложений
Тестирование производительности и нагрузочное
тестирование веб-приложений в среде Visual Studio
Инструменты мониторинга HTTP
Инструменты анализа веб-взаимодействий
Увеличение производительности веб-сервера
Кеширование часто используемых объектов
Использование асинхронных страниц, модулей
и контроллеров
Настройка окружения ASP.NET
Отключение механизмов трассировки и отладки в
ASP.NET
Отключение механизма ViewState
Кеш вывода на стороне сервера
Предварительная компиляция приложений
ASP.NET
Тонкая настройка модели процесса в ASP.NET
Настройка IIS
Кеширование вывода
Настройка пула приложения
Оптимизация сети
Включение HTTP-заголовков кеширования
Включение сжатия в IIS
Минификация и объединение
Использование сетей доставки содержимого (CDN)
Масштабирование приложений ASP.NET
Горизонтальное масштабирование
Механизмы масштабирования в ASP.NET
Ловушки горизонтального масштабирования
В заключение
Предметный указатель

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Оптимизация приложений на платформе .Net» (авторы: Голдштейн Саша, Зурбалев Дима, Флатов Идо), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта