Skip to content
Snippets Groups Projects
Commit e8be04f2 authored by torin's avatar torin
Browse files

testbuild

parent bbaaaeb3
Branches
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
#include <iterator>
#include <memory>
#include <vector>
#include <ctime>
namespace recursive_storage{
template<class T>
......@@ -131,7 +132,7 @@ class graph
private:
static void erase(node<T>& root , node<T>& to_del)
{
root.flow_after([&to_del](node<T>& t){ int i= t.childs().size(); t.erase_child(to_del); if(i>t.childs().size()) return true; return false; });
root.flow_after([&to_del](node<T>& t){ t.erase_child(to_del); return false; });
}
public:
......@@ -205,6 +206,8 @@ public:
void connect(node& n, node& o)
{
if(n.id()==o.id())
return;
bool foundn=false;
bool foundo=false;
for(auto& i : nodes)
......@@ -347,6 +350,71 @@ void test()
int main()
{
time_t start,end;
//std::cout<<localtime(&now)->tm_sec<<std::endl;
std::cout<<"test1 : create 10000000 1 node graph"<<std::endl;
start=time(0);
{
for(size_t i=0;i<10000000;i++)
{
local_storage::graph<int> graph{};
graph.add_node(6);
}
}
end=time(0);
std::cout<<"local_storage: "
<<localtime(&end)->tm_min-localtime(&start)->tm_min<<"m"
<<localtime(&end)->tm_sec-localtime(&start)->tm_sec<<"s"<<std::endl;
start=time(0);
{
for(size_t i=0;i<10000000;i++)
{
recursive_storage::node<int> node{6};
}
}
end=time(0);
std::cout<<"recursive_storage: "
<<localtime(&end)->tm_min-localtime(&start)->tm_min<<"m"
<<localtime(&end)->tm_sec-localtime(&start)->tm_sec<<"s";
std::cout<<"test1 : create 100000 5 node full connected graph"<<std::endl;
start=time(0);
{
for(size_t i=0;i<100000;i++)
{
local_storage::graph<int> graph{};
graph.add_node(6);
graph.add_node(6);
graph.add_node(6);
graph.add_node(6);
graph.add_node(6);
for(size_t j=0;j<5;j++)
for(size_t l=0;l<5;l++)
graph.connect(graph[j],graph[l]);
}
}
end=time(0);
std::cout<<"local_storage: "
<<localtime(&end)->tm_min-localtime(&start)->tm_min<<"m"
<<localtime(&end)->tm_sec-localtime(&start)->tm_sec<<"s"<<std::endl;
start=time(0);
{
for(unsigned int i=0;i<100000;i++)
{
recursive_storage::node<int> node{6};
for(size_t j=0;j<4;j++)
node.add_child(6);
auto& childs= node.childs();
for(auto& child:childs)
for(auto& child2:childs)
child.add_child(child2);
}
}
end=time(0);
std::cout<<"recursive_storage: "
<<localtime(&end)->tm_min-localtime(&start)->tm_min<<"m"
<<localtime(&end)->tm_sec-localtime(&start)->tm_sec<<"s";
local_storage::graph<int> g{};
g.add_node(6);
auto& t2=g.add_node(6);
......@@ -356,6 +424,6 @@ int main()
g.connect(t2,g[0]);
std::cout<<std::endl<<g.get_childs(t2).size()<<std::endl;
g.flow_before(g[0],[](local_storage::graph<int>::node& a){std::cout<<a.data()<<":"<<a.id()<<std::endl;});
test();
//test();
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment