Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Una volta per tutte o di volta in volta?

0 views
Skip to first unread message

Tantumergo

unread,
Dec 8, 2009, 10:05:28 AM12/8/09
to
Dal punto di vista del rendimento in termini di velocità e memoria è
meglio assegnare il risultato di un calcolo matematico ad una variabile
e, in fase di output (es. nella printf) usare la variabile o invece
calcolare al momento stesso di impostare l'output?
esempio:

#include <stdio.h>
int main()
{
int xyz;
xyz=3*4;
//così
printf("%d\n",xyz);
//o così ?
printf("%d\n",3*4);

return 0;
}


--
Qui si usa Linux
http://www.puppylinux.org

Giovanni

unread,
Dec 8, 2009, 11:47:19 AM12/8/09
to
On 12/08/09 16:05, Tantumergo wrote:
> Dal punto di vista del rendimento in termini di velocità e memoria è
> meglio assegnare il risultato di un calcolo matematico ad una variabile
> e, in fase di output (es. nella printf) usare la variabile o invece
> calcolare al momento stesso di impostare l'output?
> esempio:

> xyz=3*4;


> //così
> printf("%d\n",xyz);

> //o così ?
> printf("%d\n",3*4);

Se il risultato del calcolo è usato solo una volta IMO non fa molta
differenza. Un compilatore con un'ottimizzazione aggressiva potrebbe
produrre lo stesso codice nei due casi.

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< http://giovanni.homelinux.net/ >

den2k

unread,
Dec 10, 2009, 4:33:50 AM12/10/09
to
On 8 Dic, 17:47, Giovanni <lsod...@home.net.it> wrote:
> On 12/08/09 16:05, Tantumergo wrote:
>
> > Dal punto di vista del rendimento in termini di velocità e memoria è
> > meglio assegnare il risultato di un calcolo matematico ad una variabile
> > e, in fase di output (es. nella printf) usare la variabile o invece
> > calcolare al momento stesso di impostare l'output?

E' identico, le istruzioni da eseguire sono esattamente le stesse,
cambiano solo i tempi in cui vengono eseguite.

> Se il risultato del calcolo è usato solo una volta IMO non fa molta
> differenza.  Un compilatore con un'ottimizzazione aggressiva potrebbe
> produrre lo stesso codice nei due casi.

in effetti gcc lo fa gia' dall'ottimizzazione O1, e in genere negli
IDE e' impostata di default a O2.


0 new messages