Quote:
Originariamente inviato da GTKM
Tra l'altro, a 'sto punto si dovrebbe dire pure che avresti ancora più efficienza se non dovessi passare attraverso il sistema operativo e caricare direttamente il programma in memoria. Anzi, meglio ancora se il programma fosse realizzato in hardware, pensa. 
|
è quello che cerco di spiegare da un paio di giorni...
Quote:
Originariamente inviato da Bellaz89
Guarda. ti fo anche un esempio
supponiamo che si scrivano due programmi che fanno la stessa cosa. Uno in linguaggio macchina e uno in C
Il programma in C compilato ha un tempo di esecuzione di 2
Il programma in linguaggio macchina ha un tempo di esecuzione di 4
Supponiamo poi che il compilatore C impieghi tempo 4 a portare il sorgente C a rappresentazione binaria.
Allora secondo la tua definizione se eseguo i programmi e tengo conto del tempo di compilazione ho che
C = 2+4 = 6
Linguaggio macchina = 4
Quindi in questo caso il linguaggio macchina sarebbe piu' veloce, giusto?
Ora supponiamo di necessitare di usare lo stesso programma dieci volte. Allora:
C = 2*10 + 4 = 24
Linguaggio macchina = 4*10 = 40
Quindi se uso il programma dieci volte il programma C e' piu' veloce....
Ora non so te, ma una definizione di velocita' che dipende dal numero di volte che si usa un programma e' stupida e inutile e infatti non e' questa la definizione comunemente accettata
|
il discorso che farei io sarebbe questo
un programma tradotto da C ad esempio 1010
un programma pronto per la macchina 1010
eseguito 3 volte
1010
1010
1010
sono la stessa cosa in esecuzione?SI ma il codice in C l'ho compilato almeno una volta?SI
dal lato macchina, che ha fame, gli conviene ricevere subito la pappa(il binario) o attendere che la mamma gli prepari la compilazione?