← Back to team overview

sslug-teknik team mailing list archive

Re: Re: [sslug-teknik] Overhead ved systemkald (read fra socket)

 

On Thu, 22 Jul 1999, Anders S. Johansen wrote:

> > Jeg mener at have hørt at et tomt systemkald (som bare skiftede til kernen
> > og kom tilbage igen) kostede 5 mikrosekunder på en mid-range P2. Den kan
> > så kopiere noget med 500? MB per sekund. På 5 mikrosekunder kan du så
> > kopiere 5 * (5 * 10 ^ 8) / 10^6 = 2500 bytes.
> 
> OK. Det er et godt udgangspunkt. Måske jeg i virkeligheden burde lave et
> lille testprogram?

Det bør du nok, der er mange ting der kunne påvirke disse tal jeg lige
trak op af lommen :)

> Jeg *kan* til gengæld bruge writev() på afsendersiden. Ved du om man kan
> risikere at skulle udføre multiple kald til writev() ved blokerende IO,
> eller kan man nøjes med et? Det fremgår ikke af min (forældede) UNIX
> network programming.

Mnyeah. Jeg mener at en network write altid kan returnere mindre end det
du bad dem om at skrive, selvom det er blocking. Men jeg kan ikke huske
det, jeg bruger næsten altid select+read+write+buffere :)

> Det kan skam godt komme til det punkt, hvor jeg skal tænke i de baner.
> Der er tale om noget kode der skal rende så hurtigt som muligt, snarere
> end bare virke.

Afhængigt af dine behov kunne UDP jo også være en mulighed, hvis det er på
et lokalt netværk og at du ikke har brug for at pakkerne kommer i præcis
samme rækkefølge.

-- 
==============================================================================
Erwin Andreasen   Herlev, Denmark <erw@xxxxxx>          UNIX System Programmer
<URL:http://www.andreasen.org>              <*>         (not speaking for) DDE
==============================================================================



References