Ho un programma composto da diversi file .h e .c e molte funzioni. E ci sono funzioni che chiamano altre funzioni e così via. Ora, questo è in realtà un compito quindi so quanto tempo il programma deve raggiungere la fine.Strumenti per scoprire cosa sta rallentando un programma C?
Il problema è che il mio programma impiega troppo tempo rispetto ai tempi che mi vengono dati. È possibile scoprire quale funzione sta impiegando troppo tempo o quale parte del codice trattiene il programma?
Non ho fornito il codice qui perché è troppo lungo. So che nessuno può rispondere perché "il mio programma" è lento, ma sto parlando in generale! Esiste uno strumento che misura quanto tempo impiega ciascuna funzione o qualcosa di simile? Sto usando gcc e sono su Linux.
Questo è senza risposta. Esiste un intero universo di cause alla radice e non ci hai nemmeno mostrato il codice. –
Si dovrebbe esaminare [profiling] (https://en.wikipedia.org/wiki/Profiling_%28computer_programming% 29). Questo è esattamente il processo che risolverà il tuo problema. ('gprof' è un esempio di un profiler che è spesso preinstallato su sistemi Unix/Linux.) – huon
Dovresti davvero analizzare il tuo codice come indicato da @dbaupp. Alcuni strumenti - valgrind = http://valgrind.org/, gprof = http: //www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html ... http: //oprofile.sourceforge. net/news/= OProfile. GProf è molto buono tra loro lo uso spesso. – verisimilitude