server-skynet-source-3rd-je.../src
Dave Watson 4a0dbb5ac8 Use pairing heap for arena->runs_avail
Use pairing heap instead of red black tree in arena runs_avail.  The
extra links are unioned with the bitmap_t, so this change doesn't use
any extra memory.

Canaries show this change to be a 1% cpu win, and 2% latency win.  In
particular, large free()s, and small bin frees are now O(1) (barring
coalescing).

I also tested changing bin->runs to be a pairing heap, but saw a much
smaller win, and it would mean increasing the size of arena_run_s by two
pointers, so I left that as an rb-tree for now.
2016-03-08 13:48:27 -08:00
..
arena.c Use pairing heap for arena->runs_avail 2016-03-08 13:48:27 -08:00
atomic.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
base.c Implement chunk hook support for page run commit/decommit. 2015-08-07 00:50:58 -07:00
bitmap.c Use linear scan for small bitmaps 2016-02-26 14:21:10 -08:00
chunk_dss.c Reduce variable scope. 2015-09-15 11:19:20 -07:00
chunk_mmap.c Attempt mmap-based in-place huge reallocation. 2016-02-24 17:23:18 -08:00
chunk.c Move retaining out of default chunk hooks 2016-02-26 15:24:13 -08:00
ckh.c Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
ctl.c Fix stats.arenas.<i>.[...] for --disable-stats case. 2016-02-27 20:40:13 -08:00
extent.c Allow const keys for lookup 2015-11-09 15:48:05 -08:00
hash.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
huge.c Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
jemalloc.c Fix a potential tsd cleanup leak. 2016-02-27 21:18:15 -08:00
mb.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
mutex.c Optimizations for Windows 2015-06-25 22:53:58 +02:00
nstime.c Refactor time_* into nstime_*. 2016-02-21 21:39:05 -08:00
pages.c Try to decommit new chunks. 2015-08-12 10:26:54 -07:00
ph.c Pairing heap 2016-03-08 13:46:19 -08:00
prng.c Refactor prng* from cpp macros into inline functions. 2016-02-19 20:29:06 -08:00
prof.c Silence miscellaneous 64-to-32-bit data loss warnings. 2016-02-25 20:51:00 -08:00
quarantine.c Fast-path improvement: reduce # of branches and unnecessary operations. 2015-11-10 14:28:34 -08:00
rtree.c Fix unsigned comparison underflow. 2015-03-11 23:14:50 -07:00
stats.c Make opt_narenas unsigned rather than size_t. 2016-02-24 13:03:48 -08:00
tcache.c Refactor arenas array (fixes deadlock). 2016-02-24 23:58:10 -08:00
ticker.c Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.c Prevent MSVC from optimizing away tls_callback (resolves #318) 2016-02-20 10:52:53 -08:00
util.c Silence miscellaneous 64-to-32-bit data loss warnings. 2016-02-25 20:51:00 -08:00
valgrind.c Optimize Valgrind integration. 2014-04-15 16:49:57 -07:00
zone.c Reuse previously computed value 2015-11-12 10:45:49 -08:00