КаталогКниг.РФ

Оптимизация приложений на платформе .Net (Голдштейн Саша, Зурбалев Дима, Флатов Идо) ; ДМК-Пресс, 2017

Книга: Оптимизация приложений на платформе .Net (Голдштейн Саша, Зурбалев Дима, Флатов Идо) ; ДМК-Пресс, 2017

от 479 р. до 3039 р.


Сравнить цены

Цена от 479 р. до 3039 р. в 8 магазинах

МагазинЦенаНаличие
Лабиринт

5/5

2013 р. 4025 р.
ЛитРес

5/5

479 р. 599 р.
электронная книга | скачать фрагмент
Яндекс.Маркет

5/5

2075 р.
МАЙШОП

5/5

1860 р. 2951 р.
Буквоед

5/5

3039 р.
Минимальная сумма заказа 100 рублей
наличие уточняйте
14.04.2024
Book24

5/5

3039 р.
наличие уточняйте
14.04.2024
Читай-город

5/5

2899 р.
наличие уточняйте
02.12.2023
Мегамаркет

5/5

2165 р. 3608 р.
наличие уточняйте
13.04.2024
AliExpress

5/5

Как купить или где мы находимся +

Описание

Увеличение производительности алгоритмов и приложений является чрезвычайно важным аспектом разработки и может дать вам преимущество перед конкурентами, а вашим пользователям обеспечить низкую стоимость владения и удовольствие от использования быстрых и отзывчивых приложений. Данная книга описывает внутренние особенности ОС Windows, среды выполнения CLR и аппаратного обеспечения, влияющие на производительность приложений, а также дает вам знания и инструменты для измерения производительности вашего кода в изоляции от внешних факторов.
Книга наполнена примерами кода на C# и рекомендациями, которые помогут вам выжать максимум возможного из вашего приложения - низкое потребление памяти, согласованную нагрузку на процессор и минимальное количество операций ввода/вывода с сетью и диском.
Издание предназначено для программистов, знакомых с языком C# и платформой .NET.

Смотри также Характеристики.

Яндекс.Маркет


Содержание

Предисловие
Об авторах
О научных редакторах
Благодарности
Введение
ГЛАВА 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
Ловушки горизонтального масштабирования
В заключение
Предметный указатель

О книге

Автор(ы)
РазделПрограммирование
ИздательДМК-Пресс
ISBN978-5-94074-944-8
Год издания2017
Количество страниц524
Формат141x200мм
Вес0.53кг
Кол-во страниц524
ПереплетМягкий переплёт
Возрастные ограничения12
Размеры60x88 1/16
Обложкамягкая обложка
Язык изданияrus
ИздательствоДМК Пресс

Отзывы (3)

  • 5/5

    Книга отличная. Pdf качественный. Вот только электронных форматов не хватает: кроме pdf нужен еще хотя бы mobi...........................

    0    0

  • 5/5

    Ни разу не легкое чтениеОчень сложная тема, очень высокая плотность материала, очень много полезной информации, к сожалению, тяжеловесное изложение. Только легко и просто в теме оптимизации никогда и ничего не бывает, а реальной удобочитаемой замены просто нет. Книга однозначно должна быть в коротком списке у любого, кто всерьез решает проблемы оптимизации на .NET.

    0    0

  • 5/5

    Уникальный материал. Очень полезен тем, кто всерьез озабочен хай-перфомансом в .NET

    0    0

Добавить отзыв



1 ms.

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

Искать всё

 

Программирование - издательство "ДМК-Пресс"

Категория 383 р. - 574 р.

Программирование - издательство "ДМК-Пресс" »

0 ms.
ADS
закладки (0) сравнение (0)

 

preloader

7 ms