I am trying 2 profile a cpp code. I compiled with -pg flags and after I profiled it to get the output I got some very weird function names. this is the make file I am using:
# Makefile for parallel simulated annealer
PREFIX=${PARSECDIR}/pkgs/kernels/canneal/inst/${PARSECPLAT}
TARGET=canneal
LIBS:=$(LIBS) -lm
CXXFLAGS+=-pg
ifdef version
  ifeq "$(version)" "pthreads"
    CXXFLAGS+=-DENABLE_THREADS -pthread
  endif
endif
all:
    $(CXX) $(CXXFLAGS) annealer_thread.cpp -c -o annealer_thread.o
    $(CXX) $(CXXFLAGS) rng.cpp -c -o rng.o
    $(CXX) $(CXXFLAGS) netlist.cpp -c -o netlist.o
    $(CXX) $(CXXFLAGS) main.cpp -c -o main.o
    $(CXX) $(CXXFLAGS) netlist_elem.cpp -c -o netlist_elem.o
    $(CXX) $(CXXFLAGS) $(LDFLAGS) *.o $(LIBS) -o $(TARGET)
clean:
    rm -f *.o $(TARGET)
install:
    mkdir -p $(PREFIX)/bin
    cp -f $(TARGET) $(PREFIX)/bin/$(TARGET)
This is a sample of the gprof output:
Flat profile:
Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 11.21      0.73     0.73  2800002     0.00     0.00  std::_Rb_tree<std::string, std::pair<std::string const, netlist_elem*>, std::_Select1st<std::pair<std::string const, netlist_elem*> >, std::less<std::string>, std::allocator<std::pair<std::string const, netlist_elem*> > >::_M_lower_bound(std::_Rb_tree_node<std::pair<std::string const, netlist_elem*> >*, std::_Rb_tree_node<std::pair<std::string const, netlist_elem*> >*, std::string const&)
 10.45      1.41     0.68  5856992     0.00     0.00  atomic_load_acq_int(unsigned int volatile*)
  8.76      1.98     0.57   400001     0.00     0.00  netlist_elem::routing_cost_given_loc(location_t)
and these are the true function names in the file:
void annealer_thread::Run()
Any flags im forgetting? and why is the profiling also showing the parameters of the functions? is it because they are classes? is it because it is cpp? I am familiar with gprof and c but this is my first encounter with cpp
Any help is welcome:) cheers=)
 
    