The cost entities known to & kcachegrind; are given in the following. Simple Positions: Instruction An assembler instruction at a specified address. Source Line of a Function All instructions that the compiler (via debug information) maps to a given source line specified by source file name and line number, and which are executed in the context of some function. The latter is needed because a source line inside of an inlined function can appear in the context of multiple functions. Instructions without any mapping to an actual source line are mapped to line number 0 in file???. Function All source lines of a given function make up the function itself. A function is specified by its name and its location in some binary object if available. The latter is needed because binary objects of a single program each can hold functions with the same name (these can be accessed & eg; with dlopen or dlsym; the runtime linker resolves functions in a given search order of binary objects used). If a profiling tool cannot detect the symbol name of a function, & eg; because debug information is not available, either the address of the first executed instruction typically is used, or???. Binary Object All functions whose code is inside the range of a given binary object, either the main executable or a shared library. Source File All functions whose first instruction is mapped to a line of the given source file. Class Symbol names of functions typically are hierarchically ordered in name spaces, & eg; C++ namespaces, or classes of object-oriented languages; thus, a class can hold functions of the class or embedded classes itself. Profile Part Some time section of a profile run, with a given thread ID, process ID, and command line executed. As can be seen from the list, a set of cost entities often defines another cost entity; thus, there is a inclusion hierarchy of cost entities.
As entidades de custo coñecidas por & kcachegrind; son as seguintes. Posicións simples: Instrución: Unha instrución de ensamblador nun enderezo específico. Liña de fonte dunha Función. Todas as instrucións que o compilador (mediante a información de depuración) mapea a unha liña específica das fontes especificada polo ficheiro das fontes e o número de liña, e que son executadas no contexto dalgunha función. Isto último é preciso porque unha liña de fontes dentro dunha función "inline" pode aparecer no contexto de múltiplas funcións. As instrucións sen nengún mapeado a unha liña real das fontes son mapeadas á liña número 0 no ficheiro "???". Función. Todas as liñas das fontes dunha función dada compoñen a función en si. Unha función é especificada polo seu nome e localización nalgún obxecto binario, se está disponíbel. Isto último é preciso porque os obxectos binarios dun programa individual poden, cada un deles, conter funcións co mesmo nome (a estas pódese aceder & eg; con dlopen/ dlsym; o enlazador en tempo de execución resolve as funcións nunha orden de procura dos obxectos binarios usados dada). Se a ferramenta de perfilado non pode detectar o nome do símbolo dunha función, & eg; debido a que non hai disponíbel información de depuración, usarase ou o enderezo da primeira instrución executada, ou "???". Obxecto binario. Todas as funcións que teñan o seu código dentro do rango dun obxecto binario dado, sexa o executábel principal ou unha biblioteca compartida. Ficheiro de fontes. Todas as funcións que teñan a primeira instrución mapeada a unha liña do ficheiro de código fonte especificado. Clase. Os nómes simbólicos das funcións polo xeral están nunha orden hierárquica nos espazos de nomes, & eg; espazos de nomes de C++, ou clases das linguaxes orientadas a obxectos; así, unha clase pode conter funcións da clases ou clases que conteña dentro delas. Parte do perfilado. Unha sección no tempo dunha execución de perfilado, cun ID de fío, ID de proceso, e liña de ordes executada. Como se pode ver na lista, un conxunto de entidades de custo frecuentemente define outra entidade de custo; así, hai unha hierarquía de inca de acumulación de entidades de custo que debera ser evidente a partir da descrición de riba.