12 lines
788 B
Plaintext
12 lines
788 B
Plaintext
Explications techniques
|
||
|
||
Fonctions standards (fopen, fread, fwrite) :
|
||
Ces fonctions utilisent une mémoire tampon (buffer) en interne. Même si tu demandes de lire/écrire un octet à la fois,
|
||
la bibliothèque C va lire ou écrire plusieurs octets (souvent 4096, la taille d’un bloc) d’un coup en interne,
|
||
ce qui réduit le nombre d’appels système réels et accélère le programme.
|
||
Vérifie avec strace : un seul appel read ou write pour plusieurs appels fread/fwrite d’un octet !
|
||
|
||
Appels systèmes (open, read, write, close) :
|
||
Ici, chaque appel à read() ou write() provoque un appel système pour chaque octet.
|
||
Le passage du mode utilisateur au noyau (syscall) est coûteux, donc le programme est beaucoup plus lent.
|