If you want to see how various browser-based Javascript mechanisms work out, install Safari 4 (yes, it now works on Windows too!), Chrome V8, Firefox 3.5, and IE 8 (if you're on windows) and run the test:
http://www2.webkit.org/perf/sunspider-0.9/sunspider.html
I believe that, as Walkney said, the new Firefox 3.5 uses TraceMonkey, which also compiles for intermediate code on the fly using some form of JIT. So it should be compared with the V8 somewhat profitable. At least it won't be 10 times slower than V8 like Firefox 3 SpiderMonkey (without JIT).
For me ... Safari 4.0.3 was 2.5x faster than Tracemonky in Firefox 3.5.3 on Win XP. IE8 was much slower. Chrome is not currently installed.
Don't know about compiling Rhino for java bytecode. If it still interprets dynamic Javascript functions, such as the ability to add attributes to object instances at runtime (example obj.someNewAttribute = "someValue", which is allowed in Javascript) ... I'm not sure if it is fully "compiled" "to bytecode, and you cannot get better performance, except that you donโt have to compile from the Javascript source code each time you run Javascript. Remember that Javascript has very dynamic syntax like eval ("x = 10; y = 20; z = x * y "); which means that you can create ki of code that compiles at runtime, so I would think that Rhino would be interpreted / compiled in mixed mode, even if you compiled the JVM bytecode.
The JVM is still an interpreter, albeit a very good one with JIT support. Therefore, I like to think of Rhino-on-JVM as two layers of interpreter (interpreter-translator) or interpreter ^ 2. While most of your other Javascript engines are written in C, and as such should do more as an interpreter ^ 1. Each the interpreter level can add a 5-10-fold decrease in performance compared to C or C ++ (for example, Perl or Python or Ruby), but with JIT the performance hit can be significantly lower than about 2-4x. And the JVM has one of the most reliable and mature JIT engines.
Thus, your mileage will definitely change, and you are likely to benefit from some serious tests if you want a real answer for your intended application on your own hardware and OS.
Rhino cannot be too terribly slow since I know that many use it. I think the main attraction is not its speed, but the fact that it is an easy-to-use code / lightweight / embeddable / interpreter that has hooks in Java libraries, which makes it ideal for scripting / configuration / extensibility of your software project. Some text editors, such as UltraEdit, even embed Javascript as an alternative macro script engine. It seems that every programmer is able to easily stumble through javascript, so it is easy to pick it up.
One of the advantages of Rhino is that it works almost everywhere the JVM works. In my experience, trying to create a standalone TraceMonkey or SpiderMonkey to create and run from the command line can be a little painful on systems like Windows. And embedding into your application can be even more time consuming. But the payback of having a nested language will be worth it for a large project, compared with the need to "minimize your" mini-scripting solution if that is what you want to do.
Scripting with Rhino is very easy, if you have Java and a rin river, you just write your javascript and run it from the command line. I use it all the time for simple tasks.