|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Ottimizzazione massima: codice eseguito 27000 volte
si tratta di eseguire 5 sostituzione su una stringa.
Es. stringa = stringa.sostituisci("var1", var1); stringa = stringa.sostituisci("var2", var2); stringa = stringa.sostituisci("var3", var3); stringa = stringa.sostituisci("var4", var4); stringa = stringa.sostituisci("var5", var5); Non posso effettuare l'operazione per riferimento perchè il metodo sostituisci di C# (il linguaggio che uso) non lo supporta. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
cherca di usare i puntatori invece che l'oggetto string (il c# li dorebbe supportare)
cioe ti vai la variabile cher * stringa che punta direttamente all'area di memoria che contenga la string a meno che tu dopo non devi utilizare una funzione dell'oggetto string Ciao.. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 349
|
cmq 27000 volte nn sono un po troppe?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Lo devi eseguire su un P4 con Hyper Threading ? In tal caso potresti creare due thread separati...la velocità ti dovrebbe aumentare di circa il 50-60%... |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
in C++ si potrebbe creare due th separati??? come??? |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Certo... Su Windows si possono usare le API, su Linux i pthread...
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Risolto usando la classe StringBuilder
|
|
|
|
|
|
#10 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
|
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Si, ma è grazie a queste cazzate e alla continua segnalazione di "Impossibile convertire String in StringBuilder senza che il programmatore si rompa le palle a esplicitarlo" che i programmi fanno tutti pena e superano budget e tempi. |
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Re: Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Di solito disguidi come questi dipendono solo dal fatto che si ha esperienza con un linguaggio che si comporta diversamente, tipicamente C o C++. |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Re: Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Thx. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Re: Re: Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Se e' cosi' non preoccuparti gik, sei in buona compagnia |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Re: Re: Re: Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Ancora sono solo uno studente, ma già adesso sono stanco di vedere un proggetto che richiede un'ora di lavoro durare 10 ore per via di cast esplici che sono richiesti anche per convertire da char[] a string. è una stupida esagerazione. Se una colonna di database contiene solo interi a che pro devo convertirla in int? Tanto più che la conversione non gestisce le eventuali eccezzioni (in caso di valore null). Peggio ancora Java che richiede di gestire tutte le eccezioni, quando si sa bene come verranno gestite dopo che uno si romperà le balle(try e catch globale nel main) Ma non basterebbe creare un megadatabase di snippet di codice e consultarli dinamicamente inserendoli nel codice in automatico? Bah... in dieci anni i progressi sono stati veramente minimi. |
|
|
|
|
|
|
#16 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
scusate, ma non è un po' strano parlare di ottimizzazione con un linguaggio come il C#?
lo dico sempre io: "the right tool for the right job" negli ultimi tempi l'avrò ripetuto centiania di volte... |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Con la nuova versione del framework e qualche ottimizzazione sono passato da 12 minuti a 12 secondi...
Fare una cosa così in assembler avrebbe richiesto 12..... mesi di programmazione e altri 12 per capire dove sta l'errore. No, io guardo al futuro non al passato. Vorrei linguaggi che supportino anche reti neurali e similprolog con editor evolutissimi che non richiedano la scrittura di codice, ma la selezione di snippet e il collegamento di unit per poi passare il tutto a compilatori decenti. Per darti un'idea qualcosa di mille volte superiore a Web Ratio potrebbe andare bene. |
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
E' strano parlare di ottimizzazione invece se non si e' sicuri che un determinato pezzo di codice e' un collo di bottiglia. E per esserne sicuri servono i dati di un profiler.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Re: Re: Re: Re: Re: Re: Ottimizzazione massima: codice eseguito 27000 volte
Quote:
Però sarebbe utile un supporto dei design pattern negli ambienti di sviluppo. Qualcosa c'è (XDoclet con generazione di codice automatica, ad esempio) ma c'è il problema di prendere confidenza con un ambiente e la sua logica...
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Quote:
Sarò un perfezionista ma vedo tutto migliorabile e di tanto. I 5 o 6 profiler che ho provato sono giocattolini per bambini. Ogni volta restituiscono un valore diverso. NOn forniscono nemmeno il tempo*n° esecuzione linea. Ho provato ANTS, PROFILER, quello della microsoft e altri che non sono nemmeno riuscito ad avviare |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:06.



















