PIMap via pipair, fix tests

This commit is contained in:
Бычков Анлрей
2022-05-26 18:07:44 +03:00
parent 831adf3fc9
commit e85b11a233
3 changed files with 115 additions and 128 deletions

View File

@@ -9,10 +9,33 @@ int main(int argc, char * argv[]) {
PITimeMeasurer tm;
PIStringList small_sl;
PIStringList big_sl;
// {
// for (int i=0; i<small_cnt; ++i) small_sl << PIString::fromNumber(randomi())+PIString::fromNumber(i);
// for (int i=0; i<big_cnt; ++i) big_sl << PIString::fromNumber(randomi())+PIString::fromNumber(i);
// PIFile f;
// f.open("test.bin", PIIODevice::WriteOnly);
// PIByteArray slba;
// slba << small_sl;
// slba << big_sl;
// f.write(slba);
// f.close();
// return 0;
// }
{
PIFile f;
f.open("test.bin", PIIODevice::ReadOnly);
PIByteArray slba = f.readAll();
slba >> small_sl;
slba >> big_sl;
f.close();
}
piCout << "map<int, int> insert...";
tm.reset();
for (int c=0; c<repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<small_cnt; ++i) {
m1.insert(i, i);
}
@@ -21,7 +44,7 @@ int main(int argc, char * argv[]) {
piCout << "map<int, int> insert []...";
tm.reset();
for (int c=0; c<repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<small_cnt; ++i) {
m1[i] = i;
}
@@ -30,7 +53,7 @@ int main(int argc, char * argv[]) {
piCout << "map<int, int> insert rnd...";
tm.reset();
for (int c=0; c<repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<small_cnt; ++i) {
m1.insert(randomi(), i);
}
@@ -39,7 +62,7 @@ int main(int argc, char * argv[]) {
piCout << "map<int, int> insert rnd []...";
tm.reset();
for (int c=0; c<repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<small_cnt; ++i) {
m1[randomi()] = i;
}
@@ -49,7 +72,7 @@ int main(int argc, char * argv[]) {
piCout << "bigmap<int, int> insert...";
tm.reset();
for (int c=0; c<no_repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<big_cnt; ++i) {
m1.insert(i, i);
}
@@ -58,7 +81,7 @@ int main(int argc, char * argv[]) {
piCout << "bigmap<int, int> insert []...";
tm.reset();
for (int c=0; c<no_repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<big_cnt; ++i) {
m1[i] = i;
}
@@ -67,7 +90,7 @@ int main(int argc, char * argv[]) {
piCout << "bigmap<int, int> insert rnd...";
tm.reset();
for (int c=0; c<no_repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<big_cnt; ++i) {
m1.insert(randomi(), i);
}
@@ -76,17 +99,13 @@ int main(int argc, char * argv[]) {
piCout << "bigmap<int, int> insert rnd []...";
tm.reset();
for (int c=0; c<no_repeat; ++c) {
PIMap<int, int> m1;
PIMap<int64_t, int64_t> m1;
for (int i=0; i<big_cnt; ++i) {
m1[randomi()] = i;
}
}
piCout << "bigmap<int, int> insert rnd []" << tm.elapsed_m();
PIStringList small_sl;
for (int i=0; i<small_cnt; ++i) small_sl << PIString::fromNumber(randomd())+PIString::fromNumber(i);
PIStringList big_sl;
for (int i=0; i<big_cnt; ++i) big_sl << PIString::fromNumber(randomd())+PIString::fromNumber(i);
piCout << "map<PIString, int> insert...";
tm.reset();
for (int c=0; c<repeat; ++c) {
@@ -154,10 +173,11 @@ int main(int argc, char * argv[]) {
PIByteArray ba;
ba.resize(1024);
ba.resize(64*1024);
piCout << "map<int, PIByteArray> insert...";
tm.reset();
PIMap<int, PIByteArray> m3;
m3.reserve(big_cnt);
tm.reset();
for (int i=0; i<big_cnt; ++i) m3.insert(i, ba);
piCout << "map<int, PIByteArray> insert" << tm.elapsed_m();
piCout << "map<int, PIByteArray> interate...";
@@ -171,8 +191,9 @@ int main(int argc, char * argv[]) {
piCout << "map<int, PIByteArray> interate" << tm.elapsed_m();
piCout << "map<PIString, PIByteArray> insert...";
tm.reset();
PIMap<PIString, PIByteArray> m4;
m4.reserve(big_cnt);
tm.reset();
for (int i=0; i<big_cnt; ++i) {
m4.insert(big_sl[i], ba);
}