• [^] # Re: Pas mal

    Posté par . En réponse au journal Nouvel annuaire d'applications libres. Évalué à 3.

    Il y a du jit en C++, et pas de bytecode...
    du jit sans byte code? si t'as un lien je suis preneur, j'ai farfouille vite fait dans google la seule reference que j'ai trouve c'est sur .net avec du msil.
    Parce que recompiler du code machine, je me demande vraiment comment ca peut marcher.

    La portabilité d'un "binaire", bof, pas convaincu.
    Dans un monde open-source, je ne vois pas l'intérêt.

    Meme dans un monde open source, tout le monde n'a pas forcement l'environnement de dev installe, tout le monde n'a pas forcement envie de passer du temps a builder son application.

    Il me paraît pourtant évident que si la transformation du bytecode est faite à la compilation, le programme sera plus rapide. C'est peut-être pas un si grand gain que ça, mais bon.
    ratai!!!
    ton code est optimise au fur et a mesure de l'execution en fonction des executions precedentes. En clair, le jit ne genere pas forcement le meme code a chaque fois. C'est meme son role, sinon il compilerais tout a la premiere execution et stockerais le tout en cache quelque part pour pas avoir a le refaire apres.
    Et t'as quand meme une partie compilee en statique.
    Au final tu t'en sors avec une execution aussi voire plus rapide.
    Fait des benchmarks, passe le temps de chauffe/chargement de la jvm, java n'est pas lent, bien au contraire.
    Bref, la theorie des compilateurs avance, et elle ne se limite pas uniquement a la compilation statique.
    Ya plus de 10 ans, beaucoup etaient recalcitrants a l'utilisation de compilateurs pour cause de performance, je pense qu'on est en train d'assister la meme chose avec le code managé.

    Comment tu compile en assembleur les fonctionnalités typiquement dynamiques du langage ? Genre "source" ?
    Si c'était si facile de faire un compilo pour du python ou du ruby, ça se saurait.

    Ben tu l'ecris de la meme facon que c'est compile dans l'interpreteur... Ton script bash/python/perl il est bien transforme en binaire a un moment ou un autre..
    Que ca soit dynamique ou pas, ca se regle. L'introspection et le chargement de classes dynamique a bien ete implementee dans gcj.