Si vous voulez voir comment les différents navigateur Javascript moteurs de pile en place, installer Safari 4 (oui, il fonctionne sur Windows maintenant trop!), Chrome V8, Firefox 3.5, et IE 8 (si vous êtes sur windows) et de relancer le test.
http://www2.webkit.org/perf/sunspider-0.9/sunspider.html
Je crois que Pointu dit ci-dessus, le nouveau Firefox 3.5 utilise TraceMonkey qui compile également à intermedit code à la volée en utilisant une certaine forme de JIT. Donc il faut comparer V8 assez favorablement. Au moins, il ne sera pas 10x plus lent que le V8 comme Firefox 3 SpiderMonkey (sans JIT) a été.
Pour moi... safari 4.0.3 a été de 2,5 x plus rapide que Tracemonky dans Firefox 3.5.3 sous Win XP. IE8 a été beaucoup plus lente. Je n'ai pas de Chrome d'installé pour le moment.
Ne sais pas à propos de Rhino compilation pour le bytecode java. Si elle est encore à l'interprétation de la dynamique des fonctionnalités de Javascript, comme la possibilité d'ajouter des attributs à des instances de l'objet au moment de l'exécution (exemple obj.someNewAttribute="someValue" ce qui est permis en Javascript)... je ne suis pas sûr de ce qu'il est entièrement compilé en bytecode, et vous ne pourriez pas obtenir une meilleure performance autre que vous n'avez pas à compiler du code source Javascript texte à chaque fois que votre Javascript s'exécute. Rappelez-vous que Javascript permet très dynamique de la syntaxe comme eval("x=10;y=20;z=x*y"); ce qui signifie que vous pouvez construire des chaînes de code compilé au moment de l'exécution. C'est pourquoi je pense Rhino serait en mode mixte interprété/compilé, même si vous n'avez compile en bytecode JVM.
La JVM est toujours un interprète, mais très bonne avec des JIT soutien. Donc, je pense, de Rhino-sur-JVM 2 interprète couches (interprète-sur-interprète) ou d'un interprète^2. Alors que la plupart de vos autres moteurs Javascript sont écrits en C, et en tant que telle doit effectuer plus comme interprète^1. Chaque interprète couche peut ajouter 5 à 10 fois la dégradation des performances par rapport à C ou C++ (réf Perl ou Python ou Ruby par exemple), mais avec JIT l'impact sur les performances peut être beaucoup plus faible de l'ordre de 2-4x. Et la JVM est l'un des plus robuste et mature JIT moteurs jamais.
Donc, votre kilométrage peut certainement varier et vous serait probablement bénéfique pour certains graves repères si vous voulez une vraie réponse pour votre application sur votre propre matériel et système d'exploitation.
Rhino ne peut pas être trop terriblement lent, car je sais que beaucoup de gens l'utilisent. Je pense que c'est la principale appel n'est pas sa vitesse, mais le fait qu'il est facile à code/lumière-poids/intégrable/interprète qui a des crochets dans les bibliothèques Java, ce qui le rend parfait pour l'écriture de scripts de configuration//extensibilité de votre projet de logiciel. Certains éditeurs de texte comme UltraEdit sont même l'incorporation de Javascript comme une alternative macro moteur de script. Chaque programmeur semble être en mesure de tomber à l'aide de javascript assez facilement, il est donc facile de ramasser ainsi.
L'un des avantages de Rhino est qu'il fonctionne à peu près partout la JVM s'exécute. Dans mon expérience, en essayant d'obtenir autonome TraceMonkey ou SpiderMonkey construire et exécuter en ligne de commande peut être un peu douloureux sur les systèmes comme Windows. Et de l'incorporer dans votre propre application peut être même plus de temps. Mais le retour sur investissement pour avoir une intégrable langue serait-il intéressant pour un grand projet, par rapport à avoir à "rouler propre" mini solution de script si c'est ce que vous cherchez à faire.
Script avec Rhino est vraiment facile si vous avez Java et le rhino pot, il vous suffit d'écrire votre code javascript et l'exécuter en ligne de commande. Je l'utilise tout le temps pour des tâches simples.