Lien Pourquoi le stdout est plus rapide que le stderr ? PostĂ©Â par woffer đ§ le 10 janvier 2024 Ă 20:06. Ătiquettes : stdout stderr tui rust 17 10jan.2024 https://blog.orhun.dev/stdout-vs-stderr/
# Un problĂšme de tampon
PostĂ©Â par raphj . ĂvaluĂ©Â Ă Â 10.
Sans surprise, c'est la raison qui est donnĂ©e par l'article : par dĂ©faut, stdout a un tampon. Les caractĂšres ne sont envoyĂ©s que lorsqu'un caractĂšre nouvelle ligne est trouvĂ© (ou Ă partir d'un certain nombre max de caractĂšre je suppose). C'est plus efficace. Ăa regroupe.
Ăcrire dans un fichier, c'est un syscall. Ăcrire caractĂšre par caractĂšre, c'est un syscall par caractĂšre, et ça, c'est lent.
Mais mais mais, ce n'est probablement pas souhaitable pour stderr, parce qu'on veut que les erreurs soient affichées sans attendre. Et aussi, normalement on n'affiche pas des tartines dans stderr, juste des messages d'erreurs, donc il n'y a pas vraiment besoin d'optimiser ça.
Sinon l'article a l'air intĂ©ressant, lĂ je mentionne la raison mais l'article semble ĂȘtre une excellente trace Ă©crite d'une belle investigation avec une explication de plein de choses en profondeur. Ne vous arrĂȘtez pas Ă ce commentaire.
Ăa tombe un peu Ă pic, je viens justement de rendre un processus qui Ă©tait CPU-bound IO-bound et trois fois plus rapide juste en rendant une lecture de fichier bufferisĂ©e (et ce serait probablement plus que trois fois s'il n'y avait pas d'autres sources de lenteurs). PrĂ©cĂ©demment la lecture se faisait octet par octet, et ça, c'est mortel. Je me suis pour l'occasion formĂ© au profiling d'application Java et je recommande chaudement async-profiler qui donne de beaux flame graphs qui, trĂšs important, contiennent aussi la partie systĂšme de l'exĂ©cution. Vous pourrez trouver les miens ici.
C'est un correctif de quelques caractĂšres mais qui a demandĂ© des heures d'investigations, et qui va avoir un sĂ©rieux impact aussi. Comme quoi, compter les lignes de codes pour Ă©valuer les choses, ce n'est pas toujours la panacĂ©e, s'il y avait encore un doute Ă ce sujetâŠ
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.