PImap test
This commit is contained in:
179
main.cpp
179
main.cpp
@@ -1,39 +1,150 @@
|
|||||||
#include "pip.h"
|
#include "pip.h"
|
||||||
enum Header {
|
|
||||||
hInt = 1,
|
|
||||||
hString,
|
|
||||||
hVoid
|
|
||||||
};
|
|
||||||
|
|
||||||
class MyObj: public PIObject {
|
|
||||||
PIOBJECT(MyObj);
|
|
||||||
public:
|
|
||||||
EVENT_HANDLER1(void, methodI, int, i) {piCout << "methodI" << i;}
|
|
||||||
EVENT_HANDLER1(void, methodS, PIString, s) {piCout << "methodS" << s;}
|
|
||||||
EVENT_HANDLER0(void, method) {piCout << "method";}
|
|
||||||
};
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
MyObj o;
|
const int iters = 10;
|
||||||
PIParseHelper<int> parser(&o);
|
const int sz = 100000000;
|
||||||
|
{
|
||||||
parser.assign(hInt, o.HANDLER(methodI));
|
piCout << "PIVector push back";
|
||||||
parser.assign(hString, o.HANDLER(methodS));
|
PIVector<int> v;
|
||||||
parser.assign(hVoid, o.HANDLER(method));
|
//v.reserve(sz);
|
||||||
|
for (int n=0; n<iters; ++n) {
|
||||||
PIByteArray data;
|
PITimeMeasurer tm;
|
||||||
|
for (int i=0; i<sz; ++i) {
|
||||||
data.clear();
|
v.push_back(i);
|
||||||
data << 11;
|
}
|
||||||
parser.parse(hInt, data);
|
piCout << tm.elapsed_m();
|
||||||
// methodI 11
|
v.clear();
|
||||||
|
}
|
||||||
data.clear();
|
}
|
||||||
data << PIString("text");
|
// piCout << "\n";
|
||||||
parser.parse(hString, data);
|
// {
|
||||||
// methodS text
|
// piCout << "PIVector push front";
|
||||||
|
// PIVector<int> v;
|
||||||
data.clear();
|
// v.reserve(sz);
|
||||||
parser.parse(hVoid, data);
|
// for (int n=0; n<iters; ++n) {
|
||||||
// method
|
// PITimeMeasurer tm;
|
||||||
|
// for (int i=0; i<sz; ++i) {
|
||||||
|
// v.push_front(i);
|
||||||
|
// }
|
||||||
|
// piCout << tm.elapsed_m();
|
||||||
|
// v.clear();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// piCout << "\n";
|
||||||
|
// {
|
||||||
|
// piCout << "PIVector insert center";
|
||||||
|
// PIVector<int> v;
|
||||||
|
// //v.reserve(sz);
|
||||||
|
// for (int n=0; n<iters; ++n) {
|
||||||
|
// PITimeMeasurer tm;
|
||||||
|
// for (int i=0; i<sz; ++i) {
|
||||||
|
// v.insert(v.size()/2, i);
|
||||||
|
// }
|
||||||
|
// piCout << tm.elapsed_m();
|
||||||
|
// v.clear();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
piCout << "\n";
|
||||||
|
{
|
||||||
|
piCout << "PIDeque push back";
|
||||||
|
PIDeque<int> v;
|
||||||
|
//v.reserve(sz);
|
||||||
|
for (int n=0; n<iters; ++n) {
|
||||||
|
PITimeMeasurer tm;
|
||||||
|
for (int i=0; i<sz; ++i) {
|
||||||
|
v.push_back(i);
|
||||||
|
}
|
||||||
|
piCout << tm.elapsed_m();
|
||||||
|
v.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
piCout << "\n";
|
||||||
|
{
|
||||||
|
piCout << "PIDeque push front";
|
||||||
|
PIDeque<int> v;
|
||||||
|
//v.reserve(sz);
|
||||||
|
for (int n=0; n<iters; ++n) {
|
||||||
|
PITimeMeasurer tm;
|
||||||
|
for (int i=0; i<sz; ++i) {
|
||||||
|
v.push_front(i);
|
||||||
|
}
|
||||||
|
piCout << tm.elapsed_m();
|
||||||
|
v.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// piCout << "\n";
|
||||||
|
// {
|
||||||
|
// piCout << "PIDeque insert center";
|
||||||
|
// PIDeque<int> v;
|
||||||
|
// //v.reserve(sz);
|
||||||
|
// for (int n=0; n<iters; ++n) {
|
||||||
|
// PITimeMeasurer tm;
|
||||||
|
// for (int i=0; i<sz; ++i) {
|
||||||
|
// v.insert(v.size()/2, i);
|
||||||
|
// }
|
||||||
|
// piCout << tm.elapsed_m();
|
||||||
|
// v.clear();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
piCout << "\n";
|
||||||
|
{
|
||||||
|
piCout << "Multi insert";
|
||||||
|
PIVector<int> v;
|
||||||
|
PIDeque<int> v2;
|
||||||
|
//v.reserve(sz);
|
||||||
|
for (int n=0; n<iters; ++n) {
|
||||||
|
PITimeMeasurer tm;
|
||||||
|
for (int i=0; i<sz; ++i) {
|
||||||
|
v << i;
|
||||||
|
v2 << v[i];
|
||||||
|
}
|
||||||
|
piCout << tm.elapsed_m();
|
||||||
|
v.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
piCout << "\n";
|
||||||
|
{
|
||||||
|
piCout << "Multi insert 2";
|
||||||
|
PIVector<int> v;
|
||||||
|
PIDeque<PIPair<int,int>> v2;
|
||||||
|
//v.reserve(sz);
|
||||||
|
for (int n=0; n<iters; ++n) {
|
||||||
|
PITimeMeasurer tm;
|
||||||
|
for (int i=0; i<sz; ++i) v << i;
|
||||||
|
for (int i=0; i<sz; ++i) v2 << PIPair<int,int>(i, v[i]);
|
||||||
|
piCout << tm.elapsed_m();
|
||||||
|
v.clear();
|
||||||
|
v2.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// piCout << "\n";
|
||||||
|
// {
|
||||||
|
// piCout << "PIMap insert";
|
||||||
|
// PIMap<llong, int> v;
|
||||||
|
// //v.reserve(sz);
|
||||||
|
// for (int n=0; n<iters; ++n) {
|
||||||
|
// PITimeMeasurer tm;
|
||||||
|
// for (int i=0; i<sz; ++i) {
|
||||||
|
// v.insert(i, i);
|
||||||
|
// }
|
||||||
|
// piCout << tm.elapsed_m();
|
||||||
|
// v.clear();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// piCout << "\n";
|
||||||
|
// {
|
||||||
|
// piCout << "PIMap insert 2";
|
||||||
|
// PIMap<llong, int> v;
|
||||||
|
// //v.reserve(sz);
|
||||||
|
// for (int n=0; n<iters; ++n) {
|
||||||
|
// PITimeMeasurer tm;
|
||||||
|
// for (int i=0; i<sz; ++i) {
|
||||||
|
// v[i] = i;
|
||||||
|
// }
|
||||||
|
// piCout << tm.elapsed_m();
|
||||||
|
// v.clear();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user