Release-0.7.2
This release is mainly focused on performance and compatibility, with the largest improvements coming from #652 which changes to how objects are stored and searched in CoreContext
and AutoPacket
.
Major changes:
- #652 is a substantial performance improvement to the behavior of
AnySharedPointer
and all but completely breaks Autowiring of its nonperformant reliance ontypeid
. - #694 implements an unlink-on-teardown feature in
CoreContext
to help prevent memory leaks due toAutowired
cycles
Minor changes:
- #653 improves the performance of lambdas pended with an empty timeout
- #655, #660, #662, and #663 allow Autowiring to be used on Windows XP again
- #657 and #702 fix some warnings due to internal uses of deprecated types, and squelches those warnings where appropriate
- #659 prevents accidental copies of
AutoPacketFactory
- #668 and #669 improves the flexibility of
ContextMap
enumeration - #673 and #677 provide a cross-platform way to declare aligned types and allocate aligned memory
- #665 allows
std::shared_ptr<AutoPacket>
to be used as an input argument toAutoFilter
- #676 benchmarks the
ObjectPool
, #678 doublesObjectPool
performance, and #684 lays the groundwork for future improvements - #666 adds a heterogenous block concept which is expected to be used in
AutoPacket
in a future release. - #690 avoids the needless use of the inefficient
std::stack
and #699 improves the performance ofCoreContext::SetCurrent
- #693 provides an enumerable collection from
autowiring::parallel
to support range-based for loops, and #696 allows this type to be used with lambdas that have no return type - #700 corrects some problems preventing Autowiring tests from being used with valgraind
- #701, #702, and #695 fix miscellaneous warnings