• [^] # Re: Sauf que ...

    Posté par . En réponse à la dépêche Wine débarque bientôt. Évalué à 2.

    Euh, tu sais qu'il existe des softs de calcul en Java hein ? :-) Je veux dire, de vrais softs. Avec des multiplications de matrices, tout ça. Et ils s'en sortent plutôt bien. Attends, je vais te retrouver ça...

    Voilà :

    « Java Signal Processing : FFTs with bytecodes » (John Glossner, Jesse Thilo, Stamatis Vassiliadis). Le papier date de 98, et depuis Java a fait pas mal de progrès dans le domaine de l'optimisation en temps (en espace - donc en mémoire - c'est autre chose). Pour te résumer l'article, faire des transformées de Fourier rapides avec Java, c'est faisable. L'expérience avait été faite sur des Ultra-Sparc II avec 128Mo de RAM, avec Java 1.1.4 (sur diverses JVM) et comparé avec gcc 2.7. Au final, Java est en moyenne 2 à 3 fois plus lent qu'un code C optimisé. Mais c'était en 98. Depuis, on a encore largement amélioré les optimisations concernant Java (et aussi celles concernant C avec GCC, mais moins -- les efforts à partir de GCC 3 sont bien plus concentrés sur C++).

    « Developing numerical libraries in Java » (Ronald F. Boisvert, Jack J. Dongarra, Roldan Pozo, Karin A. Remington, G.W. Stewart). Résultats (là encore, il ne faut pas oublier qu'on est en 98) : oui ben, y'a plein de trucs bien en Java, mais bon, quand même, c'est pas la panacée, y'a plein d'autres trucs qui manquent, du coup il faut faire plus d'effort quand on est programmeur pour avoir de bons résultats. Mais les travaux sur le JIT ont l'air intéressants, ça devrait booster les résultats.

    Et miracle, c'est le cas.

    Dernière chose, je te conseille de mater à cette adresse : http://shootout.alioth.debian.org/benchmark.php?test=all&(...)

    Tu y verras entre autres les différents résultats obtenus par des benches dans le domaine du calcul [1]. Et que Java se situe devant g++ et le compilo c++ d'intel.

    Mais à part ça, Java, c'est lent.


    [1] évidemment, il en faut pas oublier ce que dit l'auteur sur le site, à propos des biais qu'on trouve dans ce genre de tests.