Улучшение медленного приложения
В этом разделе рассматривается часть примера приложения, которое работает по сети очень медленно. В этом разделе в исходный код вносятся изменения для повышения его производительности.
Пример макета — это обновленная часть для игры под названием Life. Приложение написано таким образом, чтобы клиент выполнял вычисления обновлений и отправлял их на сервер. Затем сервер отобразит результирующее поле Life . Выходные данные клиента представляют собой поток байтов, сгруппированных в триплексы (триплеты), каждый из которых представляет одно обновление ячейки. Байты в триплете представляют строку, столбец и значение ячейки соответственно.
Этот пример начинается с намеренно низкой производительности приложения, которое предоставляет базовые показатели, на основе которых можно проиллюстрировать улучшения производительности. После этого код улучшается в три раза для решения различных проблем, влияющих на производительность. Эти примеры следует читать по порядку, так как каждая итерация улучшает предыдущую версию.
Базовый код и редакции, которые улучшают этот код, являются следующими:
- Базовая версия: очень низкопроизводительное приложение
- Редакция 1. Очистка очевидного
- Редакция 2. Перепроектирование для уменьшения количества подключений
- Редакция 3. Отправка сжатого блока
- Будущие улучшения
Предупреждение
Первые несколько примеров приложения обеспечивают намеренно низкую производительность, чтобы проиллюстрировать возможные улучшения производительности с помощью изменений в коде. Не используйте эти примеры кода в приложении; Они предназначены только для иллюстрации.
Связанные темы