mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-23 16:48:06 +02:00
Buffer and FIFOBuffer performance optimizations
This commit is contained in:
@@ -197,6 +197,8 @@ void CoreTest::testBuffer()
|
||||
{
|
||||
std::size_t s = 10;
|
||||
Buffer<int> b(s);
|
||||
assert (b.size() == s);
|
||||
assert (b.allocated() == s);
|
||||
std::vector<int> v;
|
||||
for (int i = 0; i < s; ++i)
|
||||
v.push_back(i);
|
||||
@@ -207,6 +209,26 @@ void CoreTest::testBuffer()
|
||||
for (int i = 0; i < s; ++i)
|
||||
assert (b[i] == i);
|
||||
|
||||
b.resize(s/2);
|
||||
for (int i = 0; i < s/2; ++i)
|
||||
assert (b[i] == i);
|
||||
|
||||
assert (b.size() == s/2);
|
||||
assert (b.allocated() == s);
|
||||
|
||||
b.resize(s*2);
|
||||
v.clear();
|
||||
for (int i = 0; i < s*2; ++i)
|
||||
v.push_back(i);
|
||||
|
||||
std::memcpy(b.begin(), &v[0], sizeof(int) * v.size());
|
||||
|
||||
for (int i = 0; i < s*2; ++i)
|
||||
assert (b[i] == i);
|
||||
|
||||
assert (b.size() == s*2);
|
||||
assert (b.allocated() == s*2);
|
||||
|
||||
#if ENABLE_BUGCHECK_TEST
|
||||
try { int i = b[s]; fail ("must fail"); }
|
||||
catch (Exception&) { }
|
||||
|
Reference in New Issue
Block a user