Index: src/work/makefile
===================================================================
--- src/work/makefile	(revision 762)
+++ src/work/makefile	(revision 773)
@@ -1,4 +1,4 @@
 INCLUDEDIRS ?= -I.. -I. -I./{marci,jacint,alpar,klao,akos}
-CXXFLAGS = -g -O2 -W -Wall $(INCLUDEDIRS) -ansi -pedantic
+CXXFLAGS = -g -O3 -W -Wall $(INCLUDEDIRS) -ansi -pedantic
 
 BINARIES ?= bin_heap_demo
Index: src/work/marci/bfsit_vs_byhand.cc
===================================================================
--- src/work/marci/bfsit_vs_byhand.cc	(revision 762)
+++ src/work/marci/bfsit_vs_byhand.cc	(revision 773)
@@ -4,5 +4,5 @@
 
 #include <sage_graph.h>
-//#include <smart_graph.h>
+#include <hugo/smart_graph.h>
 #include <hugo/dimacs.h>
 #include <hugo/time_measure.h>
@@ -11,4 +11,7 @@
 
 using namespace hugo;
+
+using std::cout;
+using std::endl;
 
 int main() {
@@ -21,10 +24,16 @@
 
   Graph g;
-  Node s, t;
+  //Node s;
   //Graph::EdgeMap<int> cap(g);
   //readDimacsMaxFlow(std::cin, g, s, t, cap);
   readDimacs(std::cin, g);
+  NodeIt s;
+  g.first(s);
+
+  cout << g.nodeNum() << endl;
+  cout << g.edgeNum() << endl;
 
   Graph::NodeMap<OutEdgeIt> pred(g);
+  cout << "iteration time of bfs written by hand..." << endl;
   Timer ts;
   {
@@ -34,5 +43,5 @@
     pred.set(s, INVALID);
     std::queue<Node> bfs_queue;
-    bfs_queue.push(t);
+    bfs_queue.push(s);
     while (!bfs_queue.empty()) {
       Node v=bfs_queue.front();	
@@ -52,4 +61,5 @@
   }
 
+  cout << "iteration time with bfs iterator..." << endl;
   {
     ts.reset();      
Index: src/work/marci/graph_wrapper_time.cc
===================================================================
--- src/work/marci/graph_wrapper_time.cc	(revision 773)
+++ src/work/marci/graph_wrapper_time.cc	(revision 773)
@@ -0,0 +1,76 @@
+// -*- c++ -*-
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <vector>
+#include <hugo/invalid.h>
+#include <hugo/time_measure.h>
+#include <hugo/graph_wrapper.h>
+#include <hugo/max_flow.h>
+#include <hugo/dimacs.h>
+#include <hugo/list_graph.h>
+
+using namespace hugo;
+
+using std::cout;
+using std::endl;
+
+template<typename Graph>
+void timeTest(std::string str, Graph& g) {
+  g.clear();
+  typename Graph::Node s;
+  typename Graph::Node t;
+  typedef typename Graph::template EdgeMap<int> FlowMap;
+  FlowMap cap(g);
+  FlowMap flow(g);
+  std::ifstream is(str.c_str());
+  readDimacs(is, g, cap, s, t);
+  Timer ts;
+  ts.reset();
+  cout << g.nodeNum() << endl;
+  cout << g.edgeNum() << endl;
+  typedef MaxFlow<Graph, int, FlowMap, FlowMap> MyMaxFlow;
+  MyMaxFlow max_flow(g, s, t, cap, flow);
+  max_flow.run(MyMaxFlow::NO_FLOW);
+  cout << ts << endl;
+}
+
+int main(int, char** argv) {
+   std::string in=argv[1];
+
+  typedef ListGraph Graph; 
+  Graph g;
+//   cout << g.id(g.addNode()) << endl;
+//   cout << g.id(g.addNode()) << endl;
+//   cout << g.nodeNum() << endl;
+  timeTest<Graph>(in, g);
+  typedef GraphWrapper<Graph> Graph1;
+  Graph1 g1(g);
+//   g1.clear();
+//   cout << g.id(g1.addNode()) << endl;
+//   cout << g.id(g1.addNode()) << endl;
+//   cout << g1.nodeNum() << endl;
+//   g1.clear();
+  timeTest<Graph1>(in, g1);
+  typedef GraphWrapper<Graph1> Graph2;
+  Graph2 g2(g1);
+  timeTest<Graph2>(in, g2);
+  typedef GraphWrapper<Graph2> Graph3;
+  Graph3 g3(g2);
+  timeTest<Graph3>(in, g3);
+//   typedef GraphWrapper<Graph3> Graph4;
+//   Graph4 g4(g3);
+//   timeTest<Graph4>(in, g4);
+//   typedef GraphWrapper<Graph4> Graph5;
+//   Graph5 g5(g4);
+//   timeTest<Graph5>(in, g5);
+//   typedef GraphWrapper<Graph5> Graph6;
+//   Graph6 g6(g5);
+//   timeTest<Graph6>(in, g6);  
+//   typedef GraphWrapper<Graph6> Graph7;
+//   Graph7 g7(g6);
+//   timeTest<Graph7>(in, g7);
+
+  return 0;
+}
Index: src/work/marci/makefile
===================================================================
--- src/work/marci/makefile	(revision 771)
+++ src/work/marci/makefile	(revision 773)
@@ -5,5 +5,5 @@
 
 LEDABINARIES = leda_graph_demo leda_bfs_dfs max_bipartite_matching_demo
-BINARIES = max_flow_demo iterator_bfs_demo macro_test lg_vs_sg_vs_sg bfsit_vs_byhand bipartite_graph_wrapper_test bipartite_matching_demo top_sort_test max_flow_1
+BINARIES = graph_wrapper_time max_flow_demo iterator_bfs_demo macro_test lg_vs_sg_vs_sg bfsit_vs_byhand bipartite_graph_wrapper_test bipartite_matching_demo top_sort_test max_flow_1 proba7
 #BINARIES = preflow_bug
 #gw_vs_not preflow_demo_boost edmonds_karp_demo_boost preflow_demo_jacint preflow_demo_athos edmonds_karp_demo_alpar preflow_demo_leda
