4.2.3.12 Эффективность
- Реализация
На основании накопленного опыта выработаны рекомендации для разработчиков TCP:
Не копируйте данные
При передаче больших объемов данных наибольшую нагрузку на процессор создает копирование данных из одного места в другое для определения контрольной суммы. Важно минимизировать число копий данных TCP. Поскольку передача данных через шину памяти может существенно ограничивать скорость, полезно объединять копирование данных с вычислением контрольных сумм.
Внимательно относитесь к вычислению контрольных сумм
Хорошие программы вычисления контрольных сумм TCP обычно в 2-5 раз быстрее, по сравнению с простой реализацией определений CRC. Для эффективного определения контрольных сумм требуется программирование высокого класса (см. [RFC1071]).
Код общего назначения
Обработка протокола TCP может быть сложной, но для большинства сегментов используется лишь несколько простых решений. Посегментная обработка существенно ускоряется за счет эффективного кодирования основной линии с минимизацией числа принимаемых решений для наиболее вероятных ситуаций.