This is a natural consequence of having value types (structs). You can even change the bit packing and other layout properties of structs.
In any case, he stated that an Android C# app would be more performant than an app coded in Java without supplying any metrics to prove his point.
>This is a natural consequence of having value types (structs). You can even change the bit packing and other layout properties of structs.
And yet the JVM still beats the CLR in performance.
On mobile memory-constrained devices? Can you share a benchmark demonstrating that?
Sure, hence why I started it. :)
Which CLR and which JVM?
Languages are not implementations, I remember when junior Assembly coders could easily write code better than any C compiler, and look how C is regarded nowadays!
As for the CLR code, if you know about compilers and watched Channel 9 and MS blogs, than you would know that Microsoft only made the CLR good enough.
Only now they are sharing the backend with Visual C++.
Also I'd say the CLR has more potential insofar as performance due to its design than the JVM does, but the JVM has received more attention in this area historically, so it's 'winning' currently despite this.
1 - define a class in Java and a struct in C# then measure how many bytes it takes.
2 - define an array data structure in Java and C# (with value types), for graph navigation, and check which allows for cache friendly algorithms
3 - try to implement an image codec in Java using vector indexes vs the same algorithm using pointers and SIMD in C#
Why do you think Oracle is adding those features to Java 10? Just to keep themselves busy?