File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
libcxx/test/benchmarks/containers/sequence Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -448,6 +448,27 @@ void sequence_container_benchmarks(std::string container) {
448448 }
449449 });
450450 }
451+
452+ // ///////////////////////
453+ // General usage patterns
454+ // ///////////////////////
455+ bench (" iterate-whole-container" , [cheap](auto & st) {
456+ auto const size = st.range (0 );
457+ std::vector<ValueType> in;
458+ std::generate_n (std::back_inserter (in), size, cheap);
459+ DoNotOptimizeData (in);
460+
461+ Container c (in.begin (), in.end ());
462+ DoNotOptimizeData (c);
463+
464+ auto use = [](auto & element) { benchmark::DoNotOptimize (element); };
465+
466+ for ([[maybe_unused]] auto _ : st) {
467+ for (auto it = c.begin (); it != c.end (); ++it) {
468+ use (*it);
469+ }
470+ }
471+ });
451472}
452473
453474} // namespace support
You can’t perform that action at this time.
0 commit comments