https://github.com/OpenImageIO/oiio/pull/126
I wrote a reader/writer spin lock, used it for the ustring table, and it produces another significant improvement when there's heavy contention in ustring creation. In particular, with this patch the ustring performance continues to improve all the way up to the number of threads greater than the number of cores, whereas previously it "leveled off" earlier, with at some point additional HT cores not providing any benefit. Now, more cores always benefit. (For just a few cores, performance is the same as before.) Now that this class is written, we could possibly improve performance by finding other places where a good spin rw lock is appropriate that's currently a purely exclusive lock. -- Larry Gritz [email protected] _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
