Code JavaScript parallèle
Est-il possible d'exécuter du code JavaScript en parallèle dans le navigateur? Je suis prêt à sacrifier un peu de prise en charge du navigateur (IE, Opera, rien d'autre) d'acquérir une certaine avantages.
source d'informationauteur Josh K
Vous devez vous connecter pour publier un commentaire.
Si vous n'avez pas à manipuler le dom, vous pouvez utiliser les web workers ... il ya quelques autres restrictions, mais check it out @ http://ejohn.org/blog/web-workers/
Parallel.js a une bonne API pour le traitement multithread en Javascript. Il fonctionne à la fois dans les navigateurs web et dans le nœud.
Il serait peut-être mieux de ré-encoder vos JavaScript dans quelque chose qui fonctionne généralement plus rapide, plutôt que d'essayer d'accélérer le Javascript en allant en parallèle. (J'espère que vous trouverez le coût des fourches parallèles JavaScript activités est assez élevé, trop, et qui pourrait bien balayer tous parallèle possible gain; c'est un problème commun avec la programmation parallèle).
Javascript est interprété dans la plupart des navigateurs IIRC, et il est dynamique sur le dessus de celle-ci qui signifie qu'il, eh bien, s'exécute lentement.
Je suis sous l'impression que vous pouvez écrire du code Java et de l'exécuter en vertu des plugins du navigateur. Java est de type sécurisé et JIT compilé en code machine. Je m'attends que tout le gros calcul fait en Javascript irait beaucoup plus vite en Java. Je ne suis pas spécifiquement ce qui suggère Java; tout langage compilé pour lesquels vous pouvez obtenir une prise en ferait.
Comme une alternative, Google fournit Fermeture, un compilateur JavaScript. Il est revendiquée à un compilateur, mais ressemble à une optimiseur de pour moi et je ne sais pas combien il en "optimise". Mais, peut-être que vous pouvez l'utiliser. Je m'attends à le compilateur de Fermeture pour être intégré dans Chrome (mais je ne sais pas pour un fait) et peut-être en cours d'exécution juste Chrome serait d'obtenir votre compilateur JavaScript "gratuitement".
EDIT: Après avoir lu sur ce sujet de la Fermeture, comme compilateur gars que je ne suis pas très impressionné. Il ressemble à une grande partie de l'accent est mis sur la réduction de la taille du code, ce qui minimise les temps de téléchargement, mais pas nécessairement de la performance. La seule bonne chose qu'ils font en fonction inline. Je doute que vous aiderons autant que le passage à une véritable compilé langue.
EDIT2: Apparemment, la "Fermeture" du compilateur est différent de celui du moteur de JavaScript s'exécute dans le navigateur Chrome. Je me suis dit, mais vous ne savez pas ce pour un fait, que le Chrome engine a un vrai compilateur.
Intel est à venir avec un projet open source dont le nom de code
River Trail
découvrez http://www.theregister.co.uk/2011/09/17/intel_parallel_javascript/