Однако нельзя провести такое сравнение функций syswrite () и print (). Поскольку автоматический сброс буферов объектов IO::Socket предусмотрен по умолчанию, функции syswrite() и print () действуют полностью одинаково.
Примечания к сценарию gab3.pl
После разработки сценария gab3.pl стало наглядно видно, какими характеристиками производительности обладает этот сценарий по сравнению с более ранней версией, работающей по принципу “отправить — подождать — прочитать”, которая приведена в листинге gabl.pl, и версией с ветвлением, ориентированной на построчный обмен данными, которая приведена в листинге gab2.pl. Для этого было вычислено время выполнения этих трех сценариев, передавая большой текстовый файл, например, документ описывающий ремонт компьютеров на стандартный эхо-сервер. Такая проверка обеспечивает успешное выполнение и сценариев, ориентированных на обмен строковыми данными, и сценариев, ориентированных на обмен потоками байтов.
В результате было обнаружено повышение быстродействия при использования сценария gab3.pl, который превосходит по быстродействию gabl.pl примерно в пять раз, a gab2.pl - в 1,5 раза. Такое повышение эффективности при переходе однозадачного проекта к многозадачному является весьма впечатляющим и отражает тот факт, что в многозадачном проекте сетевой канал остается заполненным и передает данные одновременно в обоих направлениях, тогда как в проекте, работающим по принципу “отправить - подождать- прочитать”, в любое время используется только половина пропускной способности и происходит ожидание выполнения всей операции передачи перед отправкой ответа.