ultimatepp/benchmarks/Sort2/Sort2.cpp
cxl 656346c390 .benchmarks
git-svn-id: svn://ultimatepp.org/upp/trunk@9478 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2016-02-14 05:55:30 +00:00

54 lines
1 KiB
C++

#include <Core/Core.h>
using namespace Upp;
const int N = 1000000;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
for(int n = -1; n <= 10; n++) {
Vector<String> h;
for(int i = 0; i < N; i++)
if(n < 0)
h.Add(AsString(N - i));
else
if(n)
h.Add(AsString(Random(n)));
else
h.Add(AsString(Random()));
TimeStop tm;
Sort(h);
double t = tm.Seconds();
RLOG(n << " " << t << " s");
}
for(int n = 2; n <= 10; n++) {
Vector<String> h;
int r;
for(int i = 0; i < N; i++) {
if(i % n == 0)
r = Random();
h.Add(AsString(r));
}
TimeStop tm;
Sort(h);
double t = tm.Seconds();
RLOG("A " << n << " " << t << " s");
}
for(int n = 2; n <= 10; n++) {
Vector<String> h;
int r = Random();
int n0 = 0;
for(int i = 0; i < N; i++) {
if(i / n != n0) {
r = Random();
n0 = i / n;
}
h.Add(AsString(r));
}
TimeStop tm;
Sort(h);
double t = tm.Seconds();
RLOG("B " << n << " " << t << " s");
}
}