On 31/03/2016 12:39 PM, Ed Jaffe wrote:
On 3/30/2016 5:19 PM, David Crayford wrote:
Reading that book reinforced my opinion that I would rather leave micro optimizations to a compiler. How can you optimize for hardware that hasn't been invented yet? In 5 years time I can just recompile my code for the new architecture in assembly you need to rewrite.

Or, if you write in Java, never recompile and always be optimized for every execution environment automatically. Not only does the JIT optimize every time the code is loaded, but real-time instrumentation ensures intense, custom optimization of the most executed paths even as the input data and/or reference patterns change over time.


Indeed, good point. We use Java for some of new products or should I say the JVM because the language is Scala. It's decent. However, in comparison to a C++ program that does the same thing the JVM uses an order of magnitude more resources and we achieve similar hot spot optimizations using PDF. C++ has deterministic GC in the form of smart pointers. We've only got one zIIP and it doesn't take much to max it out. I was reading that the JVM spawns a garbage collection thread for each available core. I wonder how many GC threads the JVM spawns per zIIP? When a stop the world event happens watch those zIIPs spike! I've been amused watching the RMF zIIP metrics in Grafana.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to