| commit | 088e37c77aafaec5ead8fbe7ebf918265e6b86f2 | [log] [tgz] |
|---|---|---|
| author | Howard Hinnant <hhinnant@apple.com> | Mon Jul 30 17:13:21 2012 +0000 |
| committer | Howard Hinnant <hhinnant@apple.com> | Mon Jul 30 17:13:21 2012 +0000 |
| tree | 20c95d7e75e78dc0efa5826ff856bcd4f76318e7 | |
| parent | ebcd1c7ca2e21192dee17985221c7c0efb017506 [diff] |
Despite my pathological distrust of spin locks, the number just don't lie. I've put a small spin in __sp_mut::lock() on std::mutex::try_lock(), which is testing quite well. In my experience, putting in a yield for every failed iteration is also a major performance booster. This change makes one of the performance tests I was using (a highly contended one) run about 20 times faster. llvm-svn: 160967