Introduce support for move-only types in InlinedVector, and use move during resize.
Note: the previous code in Move seemed to use std::move, but without effect, since the argument was a const&. This cl fixes the problem, shown by my test with a MoveOnly type. From: Benchmark Time(ns) CPU(ns) Iterations --------------------------------------------------------------- BM_InlinedVectorFillString/0 2 2 357702278 BM_InlinedVectorFillString/1 23 23 30020181 40.8M items/s BM_InlinedVectorFillString/8 177 177 3938795 43.1M items/s BM_InlinedVectorFillString/64 2515 2516 278714 24.3M items/s BM_InlinedVectorFillString/512 21497 21478 31994 22.7M items/s BM_InlinedVectorFillString/1k 43361 43312 16184 22.5M items/s To: Benchmark Time(ns) CPU(ns) Iterations --------------------------------------------------------------- BM_InlinedVectorFillString/0 2 2 357070962 BM_InlinedVectorFillString/1 23 23 31134543 42.0M items/s BM_InlinedVectorFillString/8 166 166 4246010 45.9M items/s BM_InlinedVectorFillString/64 1645 1644 427302 37.1M items/s BM_InlinedVectorFillString/512 13830 13806 49712 35.4M items/s BM_InlinedVectorFillString/1k 28164 28114 24588 34.7M items/s Change: 130922812
Loading
Please sign in to comment