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

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

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

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

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

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

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

 

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