SBCL Threading Work, First Merge
I just merged the first part of the IndieGoGo funded SBCL threading work. This entailed:
- GRAB-MUTEX now supports timeouts on all platforms.
- CONDITION-WAIT now supports timeouts.
- Killing lutexes, replacing them with userspace synchronization. This main affects non-Linux platforms. Performance implications are a mixed bag, depending on what you're doing. Some things perform an order of magnitude better, some things about the same, some things somewhat worse. The stability improvements on Darwin are well worth the costs, though and I will try to address the cases where performance suffers in due course.
There's more to come---stay tuned. ...and please report any regressions to SBCL bug-tracker on Launchpad or on the mailing lists.