




Основные накладные расходы в IOCP - это ввод-вывод, а не язык. Вы должен ожидаете от кода C# той же производительности, что и в C++ (учитывая зрелое состояние, в котором находится Mono).
Вы ориентируетесь на моно для окон? Если это Linux, то есть другая модель асинхронного ввода-вывода, а не порты завершения. Я полагаю, что разработчики моно приложили все усилия, чтобы его поддержать.
Вы НЕ должны ожидать такой же производительности, как IOCP, который должен быть реализован в операционной системе. Linux использует несовместимую схему работы с вводом-выводом.