News for hackers. Stuff that matters.
Re:JVM Anatomy Quarks by sorokod on Friday January 31, 2020 @12:20PM (#22203444)
> don't touch ReadWriteLocks

I am interested in references that back this statement

Re:JVM Anatomy Quarks by MrBuddyCasino on Friday January 31, 2020 @04:12PM (#22205792)
I was interested in this as well, and yes ReadWriteLocks are horrible[0]. Just using synchronized is a good default that performs well in most scenarios, StampedLocks are good too.

[0] https://blog.overops.com/java-8-stampedlocks-vs-readwriteloc...

Re:JVM Anatomy Quarks by xxs on Friday January 31, 2020 @06:51PM (#22207222)
About the blog - testing with more threads than cores could be quite misleading, also testing on dual/quad socket vs single one exhibits the effects on coherency traffic a lot more (compared to L3 talk)
Re:JVM Anatomy Quarks by xxs on Friday January 31, 2020 @06:48PM (#22207198)
Briefly:

- the lock has write a CAS on the =fast= read path, causing coherency traffic and a contention point between the readers. That's it the readers don't scale

- it's quite hard to use correctly, i.e. after read, determining the exclusive/write lock has to be acquired, the read lock has to be released 1st, the write lock acquired and the conditions that causes the grab to be rechecked

- Copy-On-Write should be a preferred solution for most cases, easy to understand and reason about. If not StampedLock is a better alternative.

Re:JVM Anatomy Quarks by jabba_d_hut on Friday January 31, 2020 @02:24PM (#22204695)
StampedLocks performs much better than R/W locks.