decide which part of interface has to be optimized ( probably nothing until we implement reader for HDF5, XML or large Raw data files, and try to use the same input interface for input of large data)
then make inlined only neccessary functions and carefully move as much as possible into accessors.cc including explicit instantiation of support classes. This should speedup compilation of the code that use the accessors.
implement operator -> without allocation (shared_ptr), i.e. put Accesors into Iterators Create corresponding accessor at construction of the iterator.
START_GLOBAL_TIMER(tag) - this calls the start_timer, which creates local timer on the correct place in the hierarchy, further this timer is added to the list of global timers, this contains groups of timers with same tag, and collect/sum data from these timers in the report.
in create_transport_matric_mpi, there there is condition edge_flow > ZERO this makes matrix sparser, but can lead to elements without outflow and other problems when there are big differences in fluxes, more over it doesn't work if overall flow is very small