Newsgroup: it.comp.lang.visual-basic
Titolo: Velocità

Ciao a tutti mi sono accorto che quando si lovora con un database c'è
differenza di velocità tra:
    Do While rst.EOF = False
        TempCosto = rst.Fields(7)
        Totale = Totale + TempCosto
    loop
e:
    Do While rst.EOF = False
        Totale = Totale + rst.Fields(7)
    loop
Dovrebbe essere più veloce il primo (non ho la sicurezza perchè ho fatto
solo poche prove).
Qualcuno, per caso, ha qualche altro stratagemma del genere per velocizzare
un programmino VB?
Ciao e grasssie

un programmino VB?
]zac[

un programmino VB?
Ce ne sono a decine.
Sullo stesso MSDN puoi cercare "Ottimizzazione della velocità" nella
linguetta "cerca".
Te ne indica alcune, ma sono solo le basilari.
Ciao

     End With
cioe' con set l'assegnazione la si puo' fare una per tutte fuori del loop,
poi lui nel ciclo aggiorna da solo campodb ?

poi lui nel ciclo aggiorna da solo campodb ?
Osservazione corretta. Vale anche per rdo e ado.
Ciao
Aldo

poi lui nel ciclo aggiorna da solo campodb ?


anche per ASP?
Vale per tutti i linguaggi che usano la programmazione ad oggetti (quindi
anche per ASP (ASP e Vb sono praticamente uguali)).
Salve
                Dbg

 dbg myprog /quiet
?

> dbg myprog /quiet?
Oddio, mi dicono che e' meglio lasciar stare il dbg, dicono che sia
pignolastro, preciso, metodico, insumma non te fa' scampa' manco la virgola
(ah si dimenticavo, incorruttibile eheheh).
Prova con format dbg /q
Salve
                Dbg

 Prova con format dbg /q
che fo ? provo ?

valle a ripescare con un s&r, annidate dove stanno...
posso consigliarti per felice esperienza personale sed (Stream
EDitor), l'evoluzione della controparte Linux (ed) dell'edlin di
MS-DOS. Molto veloce per quanto ho potuto constatare, per lavori di
trova-sostituisci è perfetto. Usa le regexp quindi puoi cercare
e sostituire espressioni anche molto complesse
esempio:
sed -e's/foo/bar/gi' *.frm,*.bas
questa riga di comando cerca "foo" in tutti i file di codice sorgente
VB e lo sostituisce con "bar". Se come prompt dei comandi usi bash,
*.frm,*.bas verranno espansi automaticamente (ma occhio che quella
carogna di bash è una bagascia case-sensitive) - te lo dico nel caso
volessi provare dal prompt di Windows NT, in quel caso dovresti dare
un'occhiata al comando for (help for) e al comando dir. Lo chef
consiglia: 
for /f "tokens=* usebackq" %a in(`dir /s /b *.frm;*.bas`) do sed -e's/foo/bar/gi' %a 
-- 
January 15, 2028 - Intel announces their new 400THz processor, which
performs 100 billion floating-point operations in the millisecond
before it consumes itself in a nuclear explosion. This is a step up
from AMD's recent processor which simply fries any nearby user with
bolts of plasma energy. Hobbyists are already looking into ways to
overclock the chip. 

sed -e's/foo/bar/gi' *.frm,*.bas
]za[

che fo ? provo ?
Prova prova, io e' una vita che ci provo inutilmente.
Salve
                Dbg

 for /f "tokens=* usebackq" %a in(`dir /s /b *.frm;*.bas`) do
sed -e's/foo/bar/gi' %a
un grep sofisticato, insomma. anche mio fratello ha la fissa del grep e fa
sempre cosi'. solo che i miei programmi, a differenza dei suoi, girano :))
grazie del suggerimento. intendevo un altra cosa. ho appena salvato come txt
una procedura di scansione disco e riempimento db. sono 13.490 bytes, e i
rientri fanno si' che o tengo l'editor a 1024 oppure vedo solo i tab a
sinistra. le assegnazioni sono nei punti piu' rientrati, di solito, dentro a
un with e 3-4 if annidati.
per seguire l'idea di dbg, non posso fare s+r. devo andare a vedere dove
avvengono, dentro a che with stanno, se e come posso attuare la sostituzione
senza rivoluzionare il codice. so che dbg apprezzerebbe quest'ultima
ipotesi, ma dato che l'unica testa a cadere sarebbe la mia e non la sua, io
ho un atteggiamento piu' soft... cosa vuoi, si nasce incendiari e si diventa
pompieri...
pero' il concetto mi si e' stampato in testa, occupando il 25% per cento
delle risorse neuronali residue. ora vediamo se le tre rimanenti sinapsine
riescono a gestirlo.

pompieri...
]zac[
Tratto da un brano di Rino Gaetano, un grande.
Salve
                Dbg

carogna di bash è una bagascia case-sensitive) - te lo dico nel caso
Tutto bello escluso questo: bagascia una sega... Se hanno inventato
maiuscole e minuscole, lo hanno fatto perche' sono diverse, non
perche' potevi usarne una al posto dell'altra indifferentemente, come
in NT puoi fare, ad esempio, con gli usernames --scandaloso--.
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD

 in NT puoi fare, ad esempio, con gli usernames --scandaloso--.
non sei tu che scrivi nel mese di Maggio ?
usi e buoi dei paesi tuoi...
se distinguessero, il 99 per cento degli utenti di lan nt non riuscirebbe
mai a fare login.
aggiungi che il restante 1 spesso ha il capslock inserito e non ci bada o ha
il led basso o sta mangiando le patatine che glielo oscurano (il led)...
troppapacchiaperunix :)

troppapacchiaperunix :)
Hahaha :) I miei VT220 i led per il caps lock ce l'hanno :)
Anzi, c'erano *addirittura* tastiere che avevano il led incorporato
nel tasto, come le macchine da scrivere dell'Olivetti. Pero' non erano
tastiere originali Digital.
Saluti che io sono a favore del case sensitive.


Per gli insensitive ci sono mezzi di correzione, mi sembra che una cerca
casa produca una certa cosa con spessore ridotto, diciamo ultrasensitive
....
Salve
            Dbg
Gianni Rondinini ha scritto nel messaggio ...
]zac[


 ....
un sottilissimo bastoncino da rabdomante ?

un sottilissimo bastoncino da rabdomante ?
ahahahhaah, ghghghgh

casa produca una certa cosa con spessore ridotto, diciamo ultrasensitive
HAHAHAHAHAHAHAHAHAHAHA :D
ROTFL TROPPO MITICO :D :D :D
Saluti.


"under-the-hood" (nascoste al programmatore).
Perfetto, me ero dimenticato, Vb e' una lumaca e neanche tanto sveglia in
alcune cose, perche' usa le chiamate COM.
In un ciclo che usi un dato, un oggetto, un riferimento, che non si trova
all'interno del run-time di Vb (controlli, activex, ecc.), bisogna sempre
(se c'e' l'esigenza della massima velocita', altrimenti silascia perdere per
questioni di sanita' mentale) memorizzarlo in una variabile di Vb.
Salve
                Dbg

in NT puoi fare, ad esempio, con gli usernames --scandaloso--.
non so NT 4, ma NT 5 č *ANCHE* case-sensitive... e questo non č affatto 
bello...


puo' essere utilizzata". Ma in che autoscuola sei andato? :-)
]zac[

bello...
No, e' molto bello :) Speriamo che la gente impari a leggere a
scrivere, finalmente :)
Come si fa a metterlo case sensitive nei nomi degli utenti?


Come si fa a metterlo case sensitive nei nomi degli utenti?
questo non credo si possa :/
il registro è case-insensitive
comunque, per la cronaca i file case-sensitive si possono creare solo su 
partizioni NTFS, con la funzione CreateFile e la flag 
FILE_FLAG_POSIX_SEMANTICS


FILE_FLAG_POSIX_SEMANTICS
Che poi non vengono visti nemmeno come case sensitive perche' se in un
Prompt dei Comandi scrivi comandi col case sbagliato li prende
ugualmente :| E non possono esistere 2 files Ciao e cIaO nella stessa
directory, quindi e' un case sensitive fittizio.
