Hi, Raymond:
Ruby and Python performance metrics are similar because they're dynamic and interpreted at runtime. Even if Ruby 2.6 and 2.7 have made performance improvements (you're correct in saying they have), the difference in runtime speed is still negligible between the two languages. Ruby 3 has the audacious goal of being three times faster than Ruby 2. If/when that happens, Ruby may be faster than Python, but probably not so much faster that
you should use it as the sole deciding factor of which language to use.
Regardless of whether Ruby 3 achieves its goal, Java is and will remain faster at runtime. Java is a statically-typed, compiled language, which gives it distinct speed advantages at runtime. JRuby's speed metrics are similar because it also runs on the JVM, though anecdotal evidence suggests it is still a bit slower at certain tasks than Java.