JavaScript Just In Time compilation
J'ai un assez gros JavaScript de la page HTML pour un périphérique.
Mais il est un peu lent. J'ai essayé de compresser les fichiers JavaScript mais c'est pas encore satisfaisante.
Donc, je pensais, est-il possible d'en faire une "Juste à Temps" qui est compilé converti en code machine et de l'utiliser? (J'espère que mon interprétation est correcte, j'utilise un navigateur basé sur WebKit.
Personne, veuillez vous qui avez fait cela, veuillez fournir des liens vers les "Comment" des pages ou des infos à propos de la même chose.
source d'informationauteur hari
Vous devez vous connecter pour publier un commentaire.
Les deux Safari et Chrome ne compilation JIT de Javascript déjà. En fait, le seul navigateur à l'utilisation généralisée qui n'est pas IE8 et plus tôt. C'est l'une des principales raisons pour lesquelles IE8 est donc beaucoup plus lent que la concurrence de ces jours.
Mais en lisant entre les lignes de votre question, je suppose que vous n'êtes pas tout à fait comprendre ce compilation JIT. Compilation JIT qui se passe sur le navigateur; vous n'avez pas besoin de modifier votre code en aucune façon à tous pour que le navigateur puisse faire compilation JIT sur elle pour vous.
Ce qu'il semble que vous êtes en train de penser de l'est du bytecode à la compilation, tels que Java n'. Ce bytecode est effectivement un mi-chemin de langage compilé qui est ensuite lui-même JIT compilé lorsque vous exécutez le programme. Si c'est ce que vous pensez, je peux confirmer que ce n'est pas une option pour navigateur de code Javascript.
Google ont joué avec une technologie appelée "Native Client" (NaCl), ce qui permettrait de vous fournir le code compilé pour le navigateur, mais ce n'est pas encore disponible, sauf dans les versions de développement de Chrome.
Dans tous les cas, la compilation peut rendre votre code de courir plus vite, mais il ne résout pas la question fondamentale du pourquoi il tourne lentement, ce qui est probablement la meilleure chose à résoudre. (même code compilé va de mal fonctionner si elle a des goulots d'étranglement; la compilation en elle-même n'a pas magiquement faire ralentir code mieux)
Si vous voulez savoir pourquoi votre script s'exécute lentement, je recommande d'utiliser un outil de profilage, tels que celui qui est intégré dans Firebug ou Chrome Developer Tools. Cela vous aidera à identifier les parties de votre code qui fonctionne au ralenti.
Vous pouvez également essayer les YSlow outil, qui peut également donner des informations utiles sur les performances javascript.
Vous déclarez également que vous avez compressé votre script pour essayer de l'obtenir pour aller plus vite. En comprimant le script va l'aider à télécharger plus rapide (parce que c'est un fichier de petite taille), mais il ne fera rien pour la vitesse que le code s'exécute.
J'espère que ça aide.