0
I made a small test to see the difference between the execution speed of JAVA and JS,
Here the test is not accurate, since JAVA code is running in sololearn server while JS code is running in app. but still it was surprising to see JS code working way too faster than java code. Is my test accurate in any way? and wouldn't the JAVA code running in server be faster than JS code? https://code.sololearn.com/WxwvfhLOYLL1/?ref=app https://code.sololearn.com/coow10J5c8Z9/?ref=app
8 Respuestas
+ 4
Mehran i used String builder and found it works relatively faster than using String.
https://code.sololearn.com/cpz5r242cvPG/?ref=app
+ 3
+ 3
zemiak
The second test in my code runs inside the function. did you try it?
Also use the latest version of Chrome, as well as Android WebView if your device is using it.
+ 2
Martin Taylor I tested both codes(my code is just a simple for loop) in my mobile .
Js was faster.
I ran java code on the form of Android App
JS takes 2500ms in the function.
and Java takes 3500ms .
It's wondering for me
+ 2
Adam McGregor . JS was slower in my mobile before Chrome 94/95 .
and I used AOT compilation for java
+ 1
I also get 3500 ms local java 7 on Android 11
on server is java 16
js takes 5000
both by Mehran codes
0
Adding on to what Martin Taylor was saying.
JS is an interpreted language and has a larger translational overhead.
Java is a complied/interpreted. Java by default is complied to a IL which reduces translational overhead. This IL is translated at runtime. This is called a JIT compiler.
Java does support a AOT compiler but that's another layer of complexity. Java also has an application start up overhead.
TLDR; you can expext Java to run faster than JS in general, but you need to eliminate as many variables in your test to properly reflect this. Like ensuring that the code is run on the same hardware with similar work loads.
Properly designed benchmarking software will run the tests many times to eliminate chaotic behaviour.