22. maj 2002 - 13:43
Der er
2 kommentarer og
1 løsning
socket operationer i Linux
Min socket er i non-blocking mode.
Hvilke kald er de hurtigste (returnerer hurtigst): send() eller write() ? recv() eller read() ?
Svar bedes begrundet med referencer til manualsider, info-tekster eller hjemmesider med lignende indhold.
mickini33 <- du har nok ret...
Jeg lavede en lille server, der sendte så mange linier til en klient som der kunne være i send-bufferen, det var ca 1500 linier på 72 bytes hver.
Den tid, det tog at fuldføre operationen, var lidt forskellig fra gang til gang men generelt et sted mellem 1700 og 3000 mikrosekunder.
Jeg har prøvet at udskifte send() med write() og det gav umiddelbart nogle anderledes resultater, men gennemsnittet ved mange forsøg var ca. det samme, omkring 2000 mikrosekunder.
Det er derfor midlertidigt konkluderet at der ikke er forskel på send() og write() når datamængderne ved hvert kald svarer til en almindelig sætning.