Dave Watson
25f7bbcf28
Fix long spinning in rtree_node_init
...
rtree_node_init spinlocks the node, allocates, and then sets the node.
This is under heavy contention at the top of the tree if many threads
start to allocate at the same time.
Instead, take a per-rtree sleeping mutex to reduce spinning. Tested
both pthreads and osx OSSpinLock, and both reduce spinning adequately
Previous benchmark time:
./ttest1 500 100
~15s
New benchmark time:
./ttest1 500 100
.57s
2016-11-02 20:30:53 -07:00
..
2016-10-12 10:40:27 -07:00
2015-11-12 11:06:41 -08:00
2016-06-09 23:17:39 +09:00
2016-05-10 22:51:33 -07:00
2016-06-05 20:42:23 -07:00
2016-10-20 23:59:12 -07:00
2016-10-12 10:40:27 -07:00
2016-10-13 15:37:00 -07:00
2016-06-05 20:42:23 -07:00
2016-10-13 15:37:00 -07:00
2016-03-10 22:49:05 -08:00
2016-11-02 18:09:45 -07:00
2016-11-02 19:18:33 -07:00
2014-05-28 21:17:42 -07:00
2016-10-27 21:26:33 -07:00
2016-10-13 15:37:00 -07:00
2016-05-12 21:07:08 -07:00
2016-11-02 18:09:45 -07:00
2016-10-10 22:15:10 -07:00
2016-06-03 12:27:41 -07:00
2016-04-12 23:18:25 -07:00
2013-12-03 22:06:59 -08:00
2016-11-02 18:06:40 -07:00
2013-12-03 22:06:59 -08:00
2016-06-03 12:27:41 -07:00
2016-10-20 23:59:12 -07:00
2014-01-16 17:38:01 -08:00
2014-01-16 17:38:01 -08:00
2014-12-08 16:34:04 -08:00
2014-12-08 16:34:04 -08:00
2016-02-23 18:09:25 -08:00
2016-11-02 20:30:53 -07:00
2016-06-05 20:42:24 -07:00
2016-02-19 20:56:15 -08:00
2016-02-19 20:56:15 -08:00
2016-10-13 14:55:39 -07:00
2016-10-12 11:55:43 -07:00
2016-10-20 23:59:12 -07:00
2016-02-19 20:29:06 -08:00
2016-10-20 23:59:12 -07:00
2016-07-07 13:28:44 -07:00
2016-11-02 20:30:53 -07:00