Avatar billede stringbuffer Nybegynder
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.
Avatar billede mickni33 Nybegynder
22. maj 2002 - 19:13 #1
jeg tror ikke der er nogen forskel.....
Avatar billede stringbuffer Nybegynder
23. maj 2002 - 11:05 #2
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.
Avatar billede stringbuffer Nybegynder
23. maj 2002 - 11:07 #3
Spørgsmålet er hermed lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester