Поделиться через


Улучшение медленного приложения

В этом разделе рассматривается часть образца приложения, которая работает по сети очень медленно. В этом разделе изменения вносятся в исходный код для повышения производительности.

Пример макета является обновленной частью для игры под названием Life. Приложение записывается таким образом, что клиент выполняет вычисления обновлений и отправляет их на сервер. Затем сервер отображает результирующее поле Life. Выходные данные клиента — это поток байтов, сгруппированных в три (триплеты), каждый триплет, представляющий одно обновление ячейки. Байты в триплете представляют строку, столбец и значение соответственно для ячейки.

Этот пример начинается как намеренно плохое приложение, которое предоставляет базовые показатели, из которых можно проиллюстрировать улучшения производительности. Оттуда код улучшается три раза для решения различных проблем, влияющих на производительность. Эти примеры должны быть прочитаны в порядке, так как каждая итерация улучшает предыдущую версию.

Базовый код и редакции, которые улучшают этот код, являются следующими:

Предупреждение

Первые несколько примеров приложения обеспечивают намеренно низкую производительность, чтобы проиллюстрировать улучшения производительности, возможные при изменении кода. Не используйте эти примеры кода в приложении; Они предназначены только для иллюстрации.

 

высокопроизводительные приложения сокетов Windows