pip_test clear

This commit is contained in:
2020-07-16 13:58:55 +03:00
parent c642702265
commit ea624a5111

352
main.cpp
View File

@@ -117,193 +117,193 @@ struct A {
//PIKbdListener kbd(0, 0, false);
void swap(int & x, int & y) {int t = x; x = y; y = t;}
void swap2(int & x, int & y) {int t(std::move(x)); x = y; y = t;}
void swap(uint & x, uint & y) {uint t = x; x = y; y = t;}
void swap2(uint & x, uint & y) {uint t(std::move(x)); x = y; y = t;}
void swap(ullong & x, ullong & y) {ullong t = x; x = y; y = t;}
void swap2(ullong & x, ullong & y) {ullong t{std::move(x)}; x = y; y = t;}
void swap(llong & x, llong & y) {llong t = x; x = y; y = t;}
void swap2(llong & x, llong & y) {llong t{std::move(x)}; x = y; y = t;}
void swap(double & x, double & y) {double t = x; x = y; y = t;}
void swap2(double & x, double & y) {double t(std::move(x)); x = std::move(y); y = std::move(t);}
void swap(float & x, float & y) {float t = x; x = y; y = t;}
void swap2(float & x, float & y) {float t(std::move(x)); x = std::move(y); y = std::move(t);}
void swap(PIString & x, PIString & y) {PIString t = x; x = y; y = t;}
void swap2(PIString & x, PIString & y) {PIString t(std::move(x)); x = std::move(y); y = std::move(t);}
void swap(std::string & x, std::string & y) {std::string t = x; x = y; y = t;}
void swap2(std::string & x, std::string & y) {std::string t{std::move(x)}; x = std::move(y); y = std::move(t);}
void swap(A & x, A & y) {A t = x; x = y; y = t;}
void swap2(A & x, A & y) {A t{std::move(x)}; x = std::move(y); y = std::move(t);}
// void swap(int & x, int & y) {int t = x; x = y; y = t;}
// void swap2(int & x, int & y) {int t(std::move(x)); x = y; y = t;}
// void swap(uint & x, uint & y) {uint t = x; x = y; y = t;}
// void swap2(uint & x, uint & y) {uint t(std::move(x)); x = y; y = t;}
// void swap(ullong & x, ullong & y) {ullong t = x; x = y; y = t;}
// void swap2(ullong & x, ullong & y) {ullong t{std::move(x)}; x = y; y = t;}
// void swap(llong & x, llong & y) {llong t = x; x = y; y = t;}
// void swap2(llong & x, llong & y) {llong t{std::move(x)}; x = y; y = t;}
// void swap(double & x, double & y) {double t = x; x = y; y = t;}
// void swap2(double & x, double & y) {double t(std::move(x)); x = std::move(y); y = std::move(t);}
// void swap(float & x, float & y) {float t = x; x = y; y = t;}
// void swap2(float & x, float & y) {float t(std::move(x)); x = std::move(y); y = std::move(t);}
// void swap(PIString & x, PIString & y) {PIString t = x; x = y; y = t;}
// void swap2(PIString & x, PIString & y) {PIString t(std::move(x)); x = std::move(y); y = std::move(t);}
// void swap(std::string & x, std::string & y) {std::string t = x; x = y; y = t;}
// void swap2(std::string & x, std::string & y) {std::string t{std::move(x)}; x = std::move(y); y = std::move(t);}
// void swap(A & x, A & y) {A t = x; x = y; y = t;}
// void swap2(A & x, A & y) {A t{std::move(x)}; x = std::move(y); y = std::move(t);}
//void swap(PIObject & x, PIObject & y) {A t = x; x = y; y = t;}
//void swap2(PIObject & x, PIObject & y) {A t(std::move(x)); x = std::move(y); y = std::move(t);}
int main(int argc, char * argv[]) {
PITimeMeasurer tm;
int m = 100000;
int a = 99, b = 77;
piCout << "int";
tm.reset();
for (int i = 0; i < m; ++i) {
swap(a,b);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(a,b);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(a,b);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(a,b);
}
piCout << tm.elapsed_s();
// PITimeMeasurer tm;
// int m = 100000;
// int a = 99, b = 77;
// piCout << "int";
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(a,b);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(a,b);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(a,b);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(a,b);
// }
// piCout << tm.elapsed_s();
piCout << "size_t";
size_t ta = 99, tb = 77;
tm.reset();
for (int i = 0; i < m; ++i) {
swap(ta,tb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(ta,tb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(ta,tb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(ta,tb);
}
piCout << tm.elapsed_s();
// piCout << "size_t";
// size_t ta = 99, tb = 77;
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(ta,tb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(ta,tb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(ta,tb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(ta,tb);
// }
// piCout << tm.elapsed_s();
piCout << "ullong";
ullong lla = 99, llb = 77;
tm.reset();
for (int i = 0; i < m; ++i) {
swap(lla,llb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(lla,llb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(lla,llb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(lla,llb);
}
piCout << tm.elapsed_s();
// piCout << "ullong";
// ullong lla = 99, llb = 77;
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(lla,llb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(lla,llb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(lla,llb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(lla,llb);
// }
// piCout << tm.elapsed_s();
piCout << "double";
double da = 0.99,db = 77.77;
tm.reset();
for (int i = 0; i < m; ++i) {
swap(da,db);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(da,db);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(da,db);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(da,db);
}
piCout << tm.elapsed_s();
// piCout << "double";
// double da = 0.99,db = 77.77;
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(da,db);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(da,db);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(da,db);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(da,db);
// }
// piCout << tm.elapsed_s();
piCout << "float";
float fa = 0.99,fb = 77.77;
tm.reset();
for (int i = 0; i < m; ++i) {
swap(fa,fb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(fa,fb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(fa,fb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(fa,fb);
}
piCout << tm.elapsed_s();
// piCout << "float";
// float fa = 0.99,fb = 77.77;
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(fa,fb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(fa,fb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(fa,fb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(fa,fb);
// }
// piCout << tm.elapsed_s();
piCout << "A";
A aa,ab;
tm.reset();
for (int i = 0; i < m; ++i) {
swap(aa,ab);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(aa,ab);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(aa,ab);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(aa,ab);
}
piCout << tm.elapsed_s();
// piCout << "A";
// A aa,ab;
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(aa,ab);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(aa,ab);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(aa,ab);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(aa,ab);
// }
// piCout << tm.elapsed_s();
piCout << "std::string";
std::string ia = "123456789012345678901vfsdvsd2345678",ib = "qwertyvsdfvvsdvfsuiopqwertyuikolsdfghjklsdfghjk";
tm.reset();
for (int i = 0; i < m; ++i) {
swap(ia,ib);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(ia,ib);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
ia.swap(ib);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(ia,ib);
}
piCout << tm.elapsed_s();
// piCout << "std::string";
// std::string ia = "123456789012345678901vfsdvsd2345678",ib = "qwertyvsdfvvsdvfsuiopqwertyuikolsdfghjklsdfghjk";
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(ia,ib);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(ia,ib);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// ia.swap(ib);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(ia,ib);
// }
// piCout << tm.elapsed_s();
PIString sa = "123456789012345678901vfsdvsd2345678",sb = "qwertyvsdfvvsdvfsuiopqwertyuikolsdfghjklsdfghjk";
piCout << "PIString";
tm.reset();
for (int i = 0; i < m; ++i) {
swap(sa,sb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
swap2(sa, sb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
sa.swap(sb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwapBinary(sa, sb);
}
piCout << tm.elapsed_s(); tm.reset();
for (int i = 0; i < m; ++i) {
piSwap(sa, sb);
}
piCout << tm.elapsed_s();
// PIString sa = "123456789012345678901vfsdvsd2345678",sb = "qwertyvsdfvvsdvfsuiopqwertyuikolsdfghjklsdfghjk";
// piCout << "PIString";
// tm.reset();
// for (int i = 0; i < m; ++i) {
// swap(sa,sb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// swap2(sa, sb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// sa.swap(sb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwapBinary(sa, sb);
// }
// piCout << tm.elapsed_s(); tm.reset();
// for (int i = 0; i < m; ++i) {
// piSwap(sa, sb);
// }
// piCout << tm.elapsed_s();
return 0;
}