• [^] # Re: freenet

    Posté par (site web personnel) . En réponse au message Debat langage pour implementation de systèmes répartie. Évalué à 1.

    >>java n'est pas fondalementalement plus lent que le que le C"

    >pour moi fondamentalement il l'est. Le C est compilé (qui plus peut l'etre avec des options de compil specialement étudiée) et le java non. Mais dans la pratique tu as raison: cela dépend des développeurs :)

    heuh... Le java est pre-compilé (transformé en bytecode) et ensuite "optimisé" à l'exécution (JIT & co)... Toutes les optimisations que tu peux avoir lors d'une compilation sont transposables au bytecode... Sauf qu'en C tu peux plus optimiser à la volée après vu qu'il n'y a pas de machine virtuelle.
    Tu n'as certainement pas lu le lien que j'ai mis dans mon message...
    Il est clair que toute machine virtuelle introduit un "overhead"... et que comparé a du code natif parfait il sera plus lent...

    La question c'est combien de temps peux-tu consacrer à optimiser/debugger ton code ? Si la réponse est "pas beaucoup" alors il n'est pas évident que ce soit plus rapide sans machine vituelle... Pour te donner un exemple, on a des parties de freenet écrit en assembleur (pour la crypto)... on a "vraiment" optimisé une section critique du code... pas le reste.

    >Ce qui me pose problème par exemple c'est la gestion cpu et mémoire - des developpeurs on reussit a faire utiliser 500 mo de mémoire à leur jvm pour l'affichage du suivi de 40000 transferts par exemple - peut etre n'utilisent ils pas correctement le GC ?

    Des gens qui savent pas coder codent dans tous les languages... dont le java, oui.

    >De plus je trouve l'acces fichier en java lourd en terme de code par rapport a ce qui se fait en C et donc en terme de perf je me dis que ca peut avoir un impact sur les perf ?

    Gnih??? parse-error.
    En quoi la "lourdeur du code" (j'interprète: de la syntaxe) peut-elle avoir un impact quelconque sur les perfs ?

    >1) l'exploitation des ipc en java... d'apres mes connaissance actuelle elles ne sont tous simplement pas exploitable ?

    Heuh, si tu connais le C et pas le java .... oui t'iras plus vite à coder en C.
    Java c'est un language de haut niveau, tu ne manipules pas les IPCs directement... prenont un exemple : la synchronisation: c'est fait à base de moniteurs (java <=1.4) et uniquement de moniteurs.

    >2) l'exploitation des memoire flash... j'ai vu ici ou la des developpement java à ce propos, mais malheuresement aucun tutorial d'implementation par exemple....

    C'est pas propre au language ça.