Most known is the GCC profiling tool gprof: one needs to compile the program with option -pg; running the program generates a file gmon. out, which can be transformed into human-readable form with gprof. One disadvantage is the required re-compilation step to prepare the executable, which has to be statically linked. The method used here is compiler-generated instrumentation, which measures call arcs happening among functions and corresponding call counts, in conjunction with & TBS;, which gives a histogram of time distribution over the code. Using both pieces of information, it is possible to heuristically calculate inclusive time of functions, & ie; time spent in a function together with all functions called from it.
A ferramenta de perfilado máis coñecida é a de GCC, gprof: Só precisa compilar o programa coa opción - pg; ao executar o programa xerarase un ficheiro gmon. out, que pode ser transformado a un formato lexíbel con gprof. Unha desvantaxe é o paso de recompilación preciso para preparar o executábel, que debe estar ligado estaticamente. O método usado aquí é a instrumentación xerada polo compilador - que mide os arcos de chamadas entre funcións e a conta de chamadas correspondente - xunto con TBS - que dá un histograma da distribuición do tempo sobre o código. Usando ambas as dúas pezas de información é posíble calcular heuristicamente o tempo acumulado das funcióne, & ie; o tempo dispendido por unha función xunto con todas as funcións chamadas desde ela.