• [^] # Re: Appel a temoignage

    Posté par . En réponse à la dépêche Sortie d'une beta Redhat. Évalué à 2.

    J'ai eu aussi l'occasion de tester GCC 3.0. Je confirme les remarques faites plus haut.

    Mais j'ai aussi testé gcj (le compilateur java en binaire de gcc 3.0. Voir: http://gcc.gnu.org/java/(...)).

    Tout d'abord seules les classes java.lang de l'API ont été implémentées. Ne comptez pas faire passer votre interface graphique par là (même si c'est à l'étude).

    Les tests que j'ai réalisés sur gcj étaient essentiellement des benchs sur des programmes qui incluaient des threads (sur des machines mono processeurs et SMP).

    Tout d'abord, le gain de performance est plutôt faible. On gagne tout au plus un facteur 2 ou 3 pour des gros calculs et presque rien sur les calculs quasi instantanés. Mais je ne sais pas si cela est dû au fait que j'utilisais des threads.

    J'ai remarqué, concernant les threads, quelques problèmes sur les noyaux 2.4 SMP (2.4.3 pour le test). Il arrive qu'on se retrouve en deadlock lors de création d'objets (il y a des synchronisations pendant cette phase).

    Par contre, il ne me semble pas avoir remarqué ce problème sous noyau 2.2.

    Sinon, il apparait quelques zombis sur les process lorsqu'on fait des threads, mais ils disparaissent à la fin du calcul (contrairement à la jvm d'IBM sous 2.4 SMP qui forcent à rebooter la machine par un reset).

    J'ai aussi remarqué que l'implémentation a du mal à gérer plus de 256 threads simultanés sous 2.2 (cette limitation disparait sous 2.4).

    Bref, il semble y avoir quelques bogues, mais rien de grave lorsqu'on sait comment se comporte les jvm de Sun et IBM en présence de threads... :-)

    Hope this help.
    --
    Emmanuel