mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
.benchmarks
git-svn-id: svn://ultimatepp.org/upp/trunk@13465 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
74b001aa4c
commit
f154d13127
8 changed files with 81 additions and 67 deletions
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
using namespace Upp;
|
||||
|
||||
void *ptr[10000000];
|
||||
void *ptr[20000000];
|
||||
|
||||
struct Record {
|
||||
int tid;
|
||||
|
|
@ -16,7 +16,7 @@ CONSOLE_APP_MAIN
|
|||
StdLogSetup(LOG_COUT|LOG_FILE);
|
||||
RLOG("Decompressing");
|
||||
Record *r;
|
||||
int64 l;
|
||||
int l;
|
||||
{
|
||||
String s = LZMADecompress(LoadDataFile(
|
||||
// "ide.lzma"
|
||||
|
|
@ -41,7 +41,7 @@ CONSOLE_APP_MAIN
|
|||
|
||||
Record *end = r + l / 16;
|
||||
for(Record *s = r; s < end; s++)
|
||||
if(s->sz != 0xffffffffffffffff)
|
||||
if(s->sz != 0xffffffffffffffff) {
|
||||
if(s->sz <= 992)
|
||||
smalln++;
|
||||
else
|
||||
|
|
@ -49,6 +49,7 @@ CONSOLE_APP_MAIN
|
|||
largen++;
|
||||
else
|
||||
hugen++;
|
||||
}
|
||||
|
||||
RDUMP(smalln);
|
||||
RDUMP(largen);
|
||||
BIN
benchmarks/Heap/index3.lzma
Normal file
BIN
benchmarks/Heap/index3.lzma
Normal file
Binary file not shown.
Binary file not shown.
|
|
@ -8,31 +8,35 @@ CONSOLE_APP_MAIN
|
|||
#ifdef _DEBUG
|
||||
const int v_num = 10000;
|
||||
#else
|
||||
const int v_num = 100000;
|
||||
const int v_num = 1000;
|
||||
#endif
|
||||
|
||||
const int isize = 100;
|
||||
const int N = 100;
|
||||
|
||||
Vector<int> data;
|
||||
for(int i = 0; i < isize; i++)
|
||||
for(int i = 0; i < isize * v_num; i++)
|
||||
data.Add(Random());
|
||||
|
||||
for(int ii = 0; ii < N; ii++) {
|
||||
{
|
||||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
RTIMING("inner FindAdd v_num");
|
||||
int *s = data;
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].FindAdd(data[i]);
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].FindAdd(*s++);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
RTIMING("inner UnlinkKey v_num");
|
||||
int *s = data;
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].UnlinkKey(*s++);
|
||||
}
|
||||
RTIMING("Sweep v_num outer");
|
||||
RTIMING("inner Sweep v_num");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
|
|
@ -41,18 +45,20 @@ CONSOLE_APP_MAIN
|
|||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
RTIMING("outer FindAdd v_num");
|
||||
int *s = data;
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].FindAdd(data[i]);
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].FindAdd(*s++);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
RTIMING("outer UnlinkKey v_num");
|
||||
int *s = data;
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].UnlinkKey(*s++);
|
||||
}
|
||||
RTIMING("Sweep v_num inner");
|
||||
RTIMING("outer Sweep v_num");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
|
|
@ -61,17 +67,19 @@ CONSOLE_APP_MAIN
|
|||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num outer");
|
||||
RTIMING("outer insert v_num");
|
||||
int *s = data;
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].insert(data[i]);
|
||||
v[j].insert(*s++);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num outer");
|
||||
RTIMING("outer erase v_num");
|
||||
int *s = data;
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].erase(data[i]);
|
||||
v[j].erase(*s++);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
|
|
@ -79,18 +87,21 @@ CONSOLE_APP_MAIN
|
|||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num inner");
|
||||
RTIMING("inner insert v_num");
|
||||
int *s = data;
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].insert(i);
|
||||
v[j].insert(*s++);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num inner");
|
||||
RTIMING("inner erase v_num");
|
||||
int *s = data;
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].erase(i);
|
||||
v[j].erase(*s++);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@ file
|
|||
Index.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "";
|
||||
"" = "",
|
||||
"" = "USEMALLOC";
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ CONSOLE_APP_MAIN
|
|||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
return;
|
||||
{
|
||||
Vector<Index<String> > v;
|
||||
v.SetCount(v_num);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue