Производительность и стиль программы. Хотя API-интерфейс модуля IO::Socket упрощает программирование или разработку приложений и в целом представляет собой большой шаг вперед с точки зрения ускорения разработки и улучшения сопровождения кода, он имеет некоторые недостатки по сравнению со встроенным функционально-ориентированным интерфейсом.
Если в системе обнаруживается нехватка оперативной памяти, следует учитывать, что модуль IO::Socket намного увеличивает объем памяти, занимаемый процессом Perl (приблизительно 800 Кбайт в системе Linux с процессором Intel и почти в два раза больше в системе Solaris).
Объектно-ориентированный API-интерфейс также слегка замедляет загрузи программы. На лэптопе автора программы, разработанные с использованием модуля IO::Socket, требуют для загрузки примерно на полсекунды больше по сравнению с программами, в которых применяется функционально-ориентированный интерфейс Socket. К счастью, скорость выполнения программ, в которых используется модуль IO::Socket, отличается от быстродействия программ с классическим интерфейсом не столь существенно. Быстродействие сетевых программ обычно ограничивается скоростью работы сети, а не скоростью их выполнения на компьютере.
Тем не менее при использовании многих методов модуля IO::Socket, которые представляют собой тонкие оболочки для соответствующих системных вызовов и не добавляют значительных функциональных возможностей, предпочитается применять объекты IO::Socket как простые дескрипторы файлов (не в объектно-ориентированном стиле). Например, вместо такой синтаксической конструкции:
$socket->syswrite("A man, a plan, a canal, panama! "); предлагается следующая
syswrite($socket,"A man, a plan, a canal, panama!");