Re: fprintf && write
- From
- Igor Sysoev ()
- To
- Boris Rudakov ()
- Date
- 2003-06-09T23:16:54Z
- Area
- CARBON.COPY
* Forwarded from area 'RU.UNIX.PROG'
From: Igor Sysoev <is@rambler-co.ru>
Boris Rudakov <Boris.Rudakov@p4.f9.n5054.z2.fidonet.org> wrote:
> НЕ НАДО без КРАЙНЕЙ необходимости юзать WSAxxx функции.
> В своем таком
> НТевом коде я избегаю даже "канонизированных" send/recv, используя
> фундаментальные ReadFile/WriteFile.
>
> Возвращаясь к сокетам, хочу заметить что в НТе "unix-compatible" функции -
> врапперы над фундаментальными функциями API, а WSAxxx - врапперы над врапперами
> :) Дерьмо, одним словом :)
А вот в cамом конце восьмой главы первого издания "Network
programming for Microsoft Windows" на этот счёт сказано совершенно
обратное:
On a final note, Winsock applications should not use the ReadFile
and WriteFile Win32 functions for processing I/O on a completion
port in Winsock. These functions do feature an OVERLAPPED structure
and can be successfully used on a completion port; however,
the WSARecv and WSASend functions are better optimized for processing
I/O in Winsock 2. Using ReadFile and WriteFile involves making many
more unnecessary kernel/user mode procedure call transitions, thread
context switches, and parameter marshaling, resulting in a significant
performance penalty.
И потом, я как-то не понимаю, как WSARecv может быть враппером над
ReadFile, когда WSARecv и WSPRecv умеют gather, а находящийся между
ними ReadFile - нет.
--
Игорь Сысоев
http://sysoev.ru
--- ifmail v.2.15dev5
* Origin: Rambler Office news site (2:5020/400)