Intéressant. Cela me surprends mais pas plus que ça car Java utilise la compilation JIT. Java a donc une étape supplémentaire qui est la compilation de la boucle. Par contre, pourquoi il arrive à faire plus rapide ? Mystère, surtout que le code C++ est compilé avec l'option O3.
Mais là, on voit la puissance de Java, comme la fait Exoss, on peut faire une implémentation multi-threadé de l'algorithme qui améliore les performances (en tout cas sur sa machine). Et cette optimisation est moins évidente à mettre en place en C++ alors qu'en Java c'est immédiat.
Partager