Uso perf per profilare la mia applicazione. Per semplificare l'interpretazione del grafo delle chiamate risultante, ho partizionato i loop principali utilizzando le funzioni dell'etichetta come maptable_appendRange
che possono essere facilmente ricercate nel grafico delle chiamate. Sfortunatamente, queste funzioni sono per lo più evidenziate dall'ottimizzatore e quindi non appaiono nel grafico delle chiamate.
Per risolvere il problema, posso compilare senza ottimizzazione ( -O0
) e tutto va bene e la profilazione con le mie funzioni per le etichette è una beatitudine. D'altra parte, l'ottimizzazione ha un impatto abbastanza significativo sulle prestazioni generali del mio codice e non sono sicuro che la profilazione senza ottimizzazione sarà rappresentativa delle prestazioni effettive.
Quindi ecco la mia domanda: posso aspettarmi risultati rappresentativi quando si profila un codice non ottimizzato?