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.