bagpipe: Store a crossbeam GC internally, don't use global singleton#165
bagpipe: Store a crossbeam GC internally, don't use global singleton#165
Conversation
|
Performance numbers (on a 2015 model MacBook Pro): Without this PREnqueue-Dequeue Strong No Prefilling With this PREnqueue-Dequeue Strong No Prefilling |
e6aa5fd to
a6f64c4
Compare
5bbdb00 to
ff76f84
Compare
- Store a crossgeam GC collector in the BagPipe - Use this GC instance for pinning, eliminating the dependency on the global singleton, and thus on thread-local storage - elfmalloc: Don't set bsalloc as the global allocator because the new GC allocates on clone, and if the global allocator is bsalloc, each clone call becomes very expensive, which makes tests run very slowly - elfmalloc: Use opt-level=3 for tests in Travis - elfc: Set bsalloc as the global allocator
BagPipebsallocdependency fromelfmallocand move it intoelfcso that runningelfmalloctests is fasterelfmalloctests withopt-level=3in Travis