Details
-
Improvement
-
Status: Resolved
-
Critical
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
In HBASE-10015 back then I found that intrinsic locks (synchronized) in StoreScanner are slower that explicit locks.
I was surprised by this. To make sure I added a simple perf test and many folks ran it on their machines. All found that explicit locks were faster.
Now... I just ran that test again. On the latest JDK8 I find that now the intrinsic locks are significantly faster:
(OpenJDK Runtime Environment (build 1.8.0_72-b15))
Explicit locks:
10 runs mean:2223.6 sigma:72.29412147609237
Intrinsic locks:
10 runs mean:1865.3 sigma:32.63755505548784
I confirmed the same with timing some Phoenix scans. We can save a bunch of time by changing this back
Arrghhh... So maybe it's time to revert this now...?
(Note that in trunk due to ram_krish's work, we do not lock in StoreScanner anymore)
I'll attach the perf test and a patch that changes lock to synchronized, if some folks could run this on 0.98, that'd be great.