I wonder why does Safe Local DCL (one volatile read when instance is present) seem slower than Safe DCL (2 volatile reads when instance is present) in Table 4 (x86, 8 threads test)?
I wish Java had a one-true-way for one-time static initialization like dispatch_once() in Objective-C.