Fork me on GitHub
#clojure
<
2024-07-13
>
Srayan Jana07:07:09

Hey how’s the performance of CLR compared to JVM?

p-himik08:07:00

There is no reasonable way to compare the performance and get actionable results. Unless you will ever only run a very specific implementation of something, on specific versions, on specific platforms, with specific configuration.

didibus09:07:31

You mean Clojure JVM and Clojure CLR? Or in general the JVM vs CLR? I think JVM and CLR in general are pretty comparable in performance. As for Clojure JVM vs Clojure CLR I don't know, but with just how niche Clojure CLR is in comparison to Clojure JVM if default to the Clojure JVM.

phill10:07:20

You should expect different "performance" from the various JVMs to choose from - Oracle/OpenJDK, IBM/Eclipse-J9, ... there's a list at https://en.wikipedia.org/wiki/List_of_Java_virtual_machines

didibus17:07:50

I hear what you say about GC, but there's more to performance than the quality of the GC. The general memory layout and the optimization possible play a role. That's why you can see some C++ with bohem GC outcompete Java, etc.

didibus17:07:48

Also, I do think GPL2 is an issue for consoles. Because you need to port the JRE to their platform. And all modifications to the JRE needed for it to work on the consoles would have to be open sourced. Vendors might be worried about that part. But also I just think it's a lack of effort, nobody bothered to try and create a JRE that runs on consoles. Where-as Mono (and now .net Core) has people putting in the work. Not sure why there's this effort on C# and not Java. My guess is because of Microsoft and Xbox with their XNA framework that was in C#, it attracted people to C# for game making.

didibus17:07:47

Having said all that, not sure about the state of Clojure when it comes to being usable on either Unity or MonoGame

emccue18:07:11

The AOT work being done in leyden might help a JVM get on a console

emccue18:07:29

but that needs some years to play out

emccue18:07:04

and I think value types need to land before there is any significant prize to doing that work.

emccue18:07:17

clojure would mostly just ride the wave