D’une manière générale, avec un exemple bien forgé, tu peux « prouver » un peu tout et n’importe quoi.
L’un des exemples du genre qui tournait pas mal il y a dix ans, c’est un algo qui était plus performant en Java qu’en C++. L’astuce, c’est que l’algo créait et libérait énormément de tous petits objets en mémoire tout en étant « facile » à compiler et optimiser pour un compilateur JIT. Donc, le code C++ passait son temps en appels système pour demander et libérer de la mémoire, tandis que la JVM avait demandé une allocation globale au tout début et passait son temps à jouer dans sa mémoire déjà réservée, ce qui est (était ?) plus rapide. C’était rigolo, ça faisait un programme plus rapide en Java qu’en C++ (sans tricher en désactivant les optimisations de compilation C++), mais ça n’était en rien représentatif d’un cas réel.
[^] # Re: Critique justifiée mais exagérée
Posté par SpaceFox (site web personnel, Mastodon) . En réponse au lien When Zig is safer and faster than Rust. Évalué à 5.
D’une manière générale, avec un exemple bien forgé, tu peux « prouver » un peu tout et n’importe quoi.
L’un des exemples du genre qui tournait pas mal il y a dix ans, c’est un algo qui était plus performant en Java qu’en C++. L’astuce, c’est que l’algo créait et libérait énormément de tous petits objets en mémoire tout en étant « facile » à compiler et optimiser pour un compilateur JIT. Donc, le code C++ passait son temps en appels système pour demander et libérer de la mémoire, tandis que la JVM avait demandé une allocation globale au tout début et passait son temps à jouer dans sa mémoire déjà réservée, ce qui est (était ?) plus rapide. C’était rigolo, ça faisait un programme plus rapide en Java qu’en C++ (sans tricher en désactivant les optimisations de compilation C++), mais ça n’était en rien représentatif d’un cas réel.
La connaissance libre : https://zestedesavoir.com