It finally happened!
(This work was done by Vivek Lingegowda during his internship at Intel.)
There is a long discussion talking about the advantages of Procedural Programming vs. the advantages of Object Oriented Programming.
Most multi-threaded software uses locking. Lock optimization traditionally has aimed to reduce lock contention, that is make the critical regions smaller.
In my current position, I work to optimize and parallelize codes that deal with genomic data, e.g., DNA, RNA, proteins, etc.