mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
.benchamarks
git-svn-id: svn://ultimatepp.org/upp/trunk@13440 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
541e45cab1
commit
d5eff1fa4e
6 changed files with 314 additions and 0 deletions
92
benchmarks/Index/Index.cpp
Normal file
92
benchmarks/Index/Index.cpp
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
#include <Core/Core.h>
|
||||
#include <set>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
const int v_num = 10000;
|
||||
#else
|
||||
const int v_num = 10;
|
||||
#endif
|
||||
|
||||
const int isize = 1000000;
|
||||
|
||||
{
|
||||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].FindAdd(i);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].UnlinkKey(i);
|
||||
}
|
||||
RTIMING("Sweep v_num outer");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
{
|
||||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].FindAdd(i);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].UnlinkKey(i);
|
||||
}
|
||||
RTIMING("Sweep v_num inner");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
|
||||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].insert(i);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].erase(i);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
|
||||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].insert(i);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].erase(i);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
}
|
||||
9
benchmarks/Index/Index.upp
Normal file
9
benchmarks/Index/Index.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
Index.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "";
|
||||
|
||||
96
benchmarks/Index2/Index.cpp
Normal file
96
benchmarks/Index2/Index.cpp
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
#include <Core/Core.h>
|
||||
#include <set>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
const int v_num = 10000;
|
||||
#else
|
||||
const int v_num = 100000;
|
||||
#endif
|
||||
|
||||
const int isize = 100;
|
||||
|
||||
Vector<int> data;
|
||||
for(int i = 0; i < isize; i++)
|
||||
data.Add(Random());
|
||||
|
||||
{
|
||||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].FindAdd(data[i]);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
}
|
||||
RTIMING("Sweep v_num outer");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
{
|
||||
Vector<Index<int> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].FindAdd(data[i]);
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
}
|
||||
RTIMING("Sweep v_num inner");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
|
||||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].insert(data[i]);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].erase(data[i]);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
|
||||
{
|
||||
std::set<int> *v = new std::set<int>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].insert(i);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].erase(i);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
}
|
||||
9
benchmarks/Index2/Index2.upp
Normal file
9
benchmarks/Index2/Index2.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
Index.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "";
|
||||
|
||||
99
benchmarks/Index3/Index.cpp
Normal file
99
benchmarks/Index3/Index.cpp
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
#include <Core/Core.h>
|
||||
#include <set>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
const int v_num = 10000;
|
||||
#else
|
||||
const int v_num = 100000;
|
||||
#endif
|
||||
|
||||
const int isize = 100;
|
||||
|
||||
Vector<String> data;
|
||||
for(int i = 0; i < isize; i++)
|
||||
data.Add(AsString(Random()));
|
||||
|
||||
{
|
||||
Vector<Index<String> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].FindAdd(data[i]);
|
||||
}
|
||||
return;
|
||||
{
|
||||
RTIMING("UnlinkKey v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
}
|
||||
RTIMING("Sweep v_num outer");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
{
|
||||
Vector<Index<String> > v;
|
||||
v.SetCount(v_num);
|
||||
{
|
||||
RTIMING("FindAdd v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j) {
|
||||
RTIMING("2");
|
||||
v[j].FindAdd(data[i]);
|
||||
}
|
||||
}
|
||||
{
|
||||
RTIMING("UnlinkKey v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].UnlinkKey(data[i]);
|
||||
}
|
||||
RTIMING("Sweep v_num inner");
|
||||
const int jsize = v_num;
|
||||
for (int j = 0; j < jsize; ++j)
|
||||
v[j].Sweep();
|
||||
}
|
||||
|
||||
{
|
||||
std::set<String> *v = new std::set<String>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].insert(data[i]);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num outer");
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
for (int i = 0; i < isize; ++i)
|
||||
v[j].erase(data[i]);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
|
||||
{
|
||||
std::set<String> *v = new std::set<String>[v_num];
|
||||
{
|
||||
RTIMING("insert v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].insert(data[i]);
|
||||
}
|
||||
|
||||
{
|
||||
RTIMING("erase v_num inner");
|
||||
for (int i = 0; i < isize; ++i)
|
||||
for (int j = 0; j < v_num; ++j)
|
||||
v[j].erase(data[i]);
|
||||
}
|
||||
delete[] v;
|
||||
}
|
||||
}
|
||||
9
benchmarks/Index3/Index3.upp
Normal file
9
benchmarks/Index3/Index3.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
Index.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "";
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue