[C] Come rendere più efficiente un programma

Return89
Ciao a tutti,
vorrei sapere se ci sono delle istruzioni che potrei dare ad un software scritto in C per renderlo più efficiente e pulito.

Ad esempio, se utilizzo molti array, puntatori, variabili varie, cicli ecc, cambia qualcosa "svuotare" la memoria ad ogni ciclo di esecuzione? Ad esempio utilizzare la funzione fflush?
Vorrei sapere quali sono le istruzioni per "ripulire" la memoria insomma :D

Grazie anticipatamente a chiunque voglia aiutarmi :)

Risposte
apatriarca
Se la memoria viene riutilizzata nel ciclo successivo non c'è alcun vantaggio nel rilasciarla. In ogni caso fflush non ha nulla a che fare con la memoria e ancora meno con l'aumento di performance. Sinceramente è una funzione praticamente inutile.

L'unica regola per ottimizzare il codice consiste nel misurare tali performance in modo da trovare gli hotspot del programma e valutare poi quindi i vantaggi delle varie strategie usate.Dipende insomma incredibilmente dal tuo codice.

Return89
Ma come faccio a misurare le performance? E soprattutto come posso vedere i punti del codice da sistemare?

Grazie :)

apatriarca
Esistono programmi appositi, sia commerciali che open source. I dettagli dipendono dalla scelta del programma che utilizzi, ma in genere è un output del programma.. Ma una volta che hai trovato cosa cambiare devi poi capire cosa cambiare e per questo vale solo l'esperienza e la capacità di interpretare i dati a tua disposizione.

Return89
Sapresti consigliarmi qualche programma gratuito per testare il mio software?:)

apatriarca
Dai una occhiata a questa pagina di wikipedia.

Return89
Danke!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.