|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
Obbiettivo risparmio risorse in C
secondo voi in una logica di rispiarmio delle risorse di sistema è una buona tecnica di programmazione utilizzare che magari variabili sono state utilizzate in un'altra parte di codice(naturalmente facendo in modo che questo non influisca la corretta riuscita del programma)
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
e perchè no??
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
A parte gli scherzi, perche' la risorsa piu' limitata e che va ottimizzata quando si programma e' il cervello del programmatore. E riutilizzare variabili globali e' sicuramente il modo peggiore di aiutarlo. Quindi no, non e' una buona pratica di programmazione. Il tuo obiettivo deve essere sempre e solo la correttezza di cio' che scrivi e la sua leggibilita'. Quando hai raggiunto questi due obiettivi, quando hai dei requisiti chiari riguardo all'uso delle risorse a tua disposizione, allora puoi passare all'ottimizzazione. Ma non prima.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
...bhè si hai sicuramente ragione...ma un programmatore esperto come si comporta??
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2361
|
Se dopo aver riutilizzato le variabili sposti alcuni frammenti di codice (magari per anticipare la chiusura di alcune risorse) potresti mandare in overlap i due utilizzi e non capiresti più perché il programma prima andava, dopo no.
__________________
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
__________________
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
be io direi che variabili del tipo i,k si possono riutilizzare, con molta attenzione....
mai capitato: Codice:
for(i=0;i<n;i++)
{
for(i=0;i<n;i++);
}
comunque personalmente prima creo 300 variabili all'inizio e cerco di scrivere codice comprensibile, poi salvo e metto da parte per rileggere in futuro, poi passo al massacro, cioe i 3000 puntatori diventano un'unico void *, i 300 indici diventano tutti i, e alla fine non si capisce più niente.... però dorebbe esere più veloce ciao ! |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Poi nel caso di una variabile che serve da contatore è un po' diversa la cosa, se sai già (e sei sicuro) che nei due casi in cui le utilizzi, seppur per cicli diversi, non avviene nessun tipo di conflitto puoi farlo senza danneggiare la leggibilità del codice.
__________________
|
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Pero' hai perso in leggibilita'. Condividere variabili temporanee e' perfettamente inutile in termini di prestazioni perche' e' un lavoro che il compilatore gia' fa e lo fa meglio di quanto lo possa fare il programmatore (si chiama register allocation). Le regole per usare le variabile dovrebbero essere: - Dichiarare la variabile solo quando e' usata (non all'inizio della funzione) e inizializzarla. - Dare uno e un solo scopo ad ogni variabile (non riutilizzarle). - Minimizzare la vita di una variabile, ovvero il numero di linee di codice in cui la variabile e' usata
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
aggiungo piuttosto che un risparmio intelligente che un programmatore potrebbe (e dovrebbe sempre) fare è quello di deallocare risorse allocate dinamicamente il prima possibile (analogamente a come si dovrebbe fare per le variabili insomma
|
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
oppure alternativa sarebbe quella di usare un garbage collector, ma purtroppo non sempre se ne ha la possibilità.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:19.











Raffo™ (io, non la birra) |
|








