From: Radoslaw Zarzynski Date: Fri, 7 Sep 2018 21:20:02 +0000 (+0200) Subject: tests, common: introduce bufferlist::apennd benchmark. X-Git-Tag: v14.0.1~55^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d809316ce36bb1a36ccc71be8fdf56460478d1e3;p=ceph.git tests, common: introduce bufferlist::apennd benchmark. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index e1d51df8278d..baca6a469f1b 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -872,7 +872,7 @@ TEST(BufferPtr, append_bench) { bufferptr bp(buflen); bp.set_length(0); for (int64_t j=0; j src = { 0, }; + + for (size_t step = 4; step <= 16384; step *= 4) { + const utime_t start = ceph_clock_now(); + + constexpr size_t rounds = 4000; + for (size_t r = 0; r < rounds; ++r) { + ceph::bufferlist bl(std::size(src)); + for (auto iter = std::begin(src); + iter != std::end(src); + iter = std::next(iter, step)) { + bl.append(&*iter, step); + } + } + cout << rounds << " fills of buffer len " << src.size() + << " with " << step << " byte appends in " + << (ceph_clock_now() - start) << std::endl; + } +} + +TEST(BufferList, append_bench) { + std::array src = { 0, }; + + for (size_t step = 4; step <= 16384; step *= 4) { + const utime_t start = ceph_clock_now(); + + constexpr size_t rounds = 4000; + for (size_t r = 0; r < rounds; ++r) { + ceph::bufferlist bl; + for (auto iter = std::begin(src); + iter != std::end(src); + iter = std::next(iter, step)) { + bl.append(&*iter, step); + } + } + cout << rounds << " fills of buffer len " << src.size() + << " with " << step << " byte appends in " + << (ceph_clock_now() - start) << std::endl; + } +} + TEST(BufferList, operator_equal) { // // list& operator= (const list& other)