ultimatepp/benchmarks/JSON/main.cpp
cxl 5507a9b725 .benchmarks
git-svn-id: svn://ultimatepp.org/upp/trunk@4137 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2011-11-06 12:30:18 +00:00

47 lines
944 B
C++

#include "JSON.h"
#ifdef _DEBUG
#define N 1
#else
#define N 10000
#endif
CONSOLE_APP_MAIN
{
String j0, j1, j2;
for(int i = 0; i < N; i++) {
RTIMING("Automated");
JsonArray a;
for(int i = 0; i < 100; i++)
a << Json("first", i)("second", AsString(i));
j0 = a;
}
RDUMP(j0);
for(int i = 0; i < N; i++) {
RTIMING("SemiOptimized");
String s = "[";
for(int i = 0; i < 100; i++) {
if(i)
s << ',';
s << '{' << AsCString("first") << ':' << i << ',' << AsCString("second") << ':' << AsCString(AsString(i)) << '}';
}
s << ']';
j2 = s;
}
RDUMP(j2);
for(int i = 0; i < N; i++) {
RTIMING("Optimized");
String s = "[";
for(int i = 0; i < 100; i++) {
if(i)
s << ',';
s << "{\"first\":" << i << ",\"second\":" << AsCString(AsString(i)) << '}';
}
s << ']';
j1 = s;
}
RDUMP(j1);
RDUMP(j1 == j0 && j2 == j0);
RDUMP(AsJSON(ParseJSON(j1), true));
}