The typical implementation should be performance equivalent.
Check small objects optimization:
Implementations are encouraged to avoid dynamic allocations for small objects, but such an optimization may only be applied to types that for which std::is_nothrow_move_constructible returns true.
The typical implementation should be performance equivalent.
Check small objects optimization:
(from http://en.cppreference.com/w/cpp/utility/any)