Optimize|libdeng2|Lockable: Use automatic storage with Lockable
Lockable, as used by Guard, should not use the current pimpl idiom implementation as this allocates storage for the private instance from the heap.
The multithreaded logging system makes frequent use of Guards for ensuring concurrency robustness. This inadvertently resulted in a significant and unnecessary perf bottleneck.
Optimize|libdeng2|Lockable: Use automatic storage with Lockable
Lockable, as used by Guard, should not use the current pimpl idiom
implementation as this allocates storage for the private instance
from the heap.
The multithreaded logging system makes frequent use of Guards for
ensuring concurrency robustness. This inadvertently resulted in a
significant and unnecessary perf bottleneck.