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