CLR Features That Might Benefit
summary
Ten years of running a JVM on the CLR yields concrete suggestions: add reified generics and value types so dictionaries and tuples avoid boxing; give arrays a common base class and methods like RuntimeHelpers.InitializeArray and Buffer.BlockCopy; support AOT native image generation — measured working set drops (Java HelloWorld ~7MB vs .NET ~2.5MB; SwingSet2 ~210MB vs IKVM-on-CLR ~63MB); expose metadata/assembler APIs, internal/module-level access, PInvoke/Marshal-style interop, and safe handles/critical finalizers for reliable native resource cleanup.
AI-written summary · about
chapters (21)
- 0:00Start
- 1:42Terminology
- 3:19Int Pointer
- 3:51Type Reference
- 8:57Helper Methods
- 10:54Block Copy
- 14:37Reified Generics
- 17:59Worst Thing about Java
- 21:29Internal Access Modifier
- 22:05Metadata Api
- 24:15Native Image Generation
- 28:16Hosting Api
- 29:39Expressed Explicit Structure Layout
- 30:01Gc Handles
- 31:41Annotations
- 32:16Thread Static
- 32:54Semantics Program
- 34:00Call Native Code Directly
- 36:08Finalisation
- 37:12Multiple Finalizer Threads
- 39:31Tool Support
related talks
45mValue Types in the CLR
47mLegal JVM Doping in Your Containers
39mMost impacting features of newest JDKs
48mJust-In-Time Compilation for Java Performance: Recent and Ongoing Improvements
20mCache Me If You Can: Speed Up Your JVM with Project Valhalla
46mJava in a World of Containers
51mAbstractions Without Regret with GraalVM
52mPerformance features in C#
