Novità

C'è una funzione o modo... per avere il tempo stimato per una data elaborazione?

lotto_tom75

Advanced Premium Member
In spaziometria c'è una funzione o modo... per avere il tempo stimato per una qualsiasi elaborazione prima che quest'ultima si avvii e/o termini? :unsure:

In modo che con essa si possa visualizzare sulla barra di messaggio o in una finestra di dialogo ad esempio qualcosa tipo...

Tempo stimato richiesto per l'attuale elaborazione: 1 ora e 30 min. Si desidera terminare e/o procedere e/o continuare la stessa?

Come ad esempio si visualizza nel fantastico nuovo e più recente prg "ricerca lunghette" del mitico Luigi.

Per adesso io per SPTM conosco solo la funzione che riporta il Tempo Trascorso. Ma non quello richiesto... visualizzabile a priori... ⏰🙄


Forse strutturalmente la funzione... si costruisce così... ma non riesco ad evitare gli errori derivanti dalle unità di misura diverse... (colonne e tempo). Sotto un esempio fittizio del valore di tempo stimato che vorrei ottenere...

Codice:
Option Explicit

Sub Main 

Dim i , tempoprova , Totalecolonne , TempoStimato

   Totalecolonne = 1000000

i=0
   
For i=1 To Totalecolonne

    i=i+1
 
   tempoprova = TempoTrascorso
  
   Call Messaggio (i&"/"&tempoprova &"*"& Totalecolonne-i)

  
 TempoStimato = i / tempoprova * totalecolonne-i ' ovvero tempo 
'  stimato = colonne già elaborate(i) / tempo trascorso per colonne totali
'  meno colonne già elaborate


  
   If ScriptInterrotto Then Exit For

   Next

End Sub


👋 :)
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
🆙 ⏰❓ 🤖 🤔

ilegend, salvo50, joe, mike58 ecc... help me please! 😀

Per adesso riguardo il tempo... ho trovato solo questo...

Codice:
Sub Main
Scrivi "Dall'inizio dell'anno sono passati " & _
DateDiff("d","1/1/2021",Date) & " giorni"
Scrivi "A Natale mancano " & _
DateDiff("d",Date,"25/12/2021") & " giorni"
Dim sData
sData = Date
Scrivi("Anno " & Year(sData))
Scrivi("Mese " & Month(sData))
Scrivi("Giorno " & Day(sData))
Scrivi "sono le " & Time
Dim sTime
sTime = Time
Scrivi("Ora " & Hour(sTime))
Scrivi("Minuti " & Minute(sTime))
Scrivi("Secondi " & Second(sTime))
Call Scrivi("Il giorno della settimana è " & _
WeekDay(Date))
Call Scrivi (WeekdayName(WeekDay(Date)))

call scrivi ("Tempo trascorso: " & TempoTrascorso)

End Sub

Ma non saprei come appunto metterlo in una funzione per stimare il tempo necessario per una qualsiasi elaborazione appunto...

:unsure:🙄🥴


👋🙂
 
Ultima modifica:

joe

Advanced Member >PLATINUM PLUS<
No, non credo si possa e quando avevo chiesto a Luigi,

mi sembra di ricordare che non fosse a conoscenza del tempo

necessario ad ognuna delle istruzioni.

Sui vecchi PC (quelli con il Micro 6500 e poi 65C02 ... 65816)

invece si potevano contare i cicli macchina di ogni istruzione.

C'erano programmi che simulavano il funzionamento delle istruzioni

in linguaggio macchina evidenziando ogni "micro passaggio"

dei dati e dei codici binari nei registri del microprocessore.

Il kernel. Ma si era nella preistoria.

Quello che ti posso dire è che la preparazione dell' html

in output richiede molto tempo.

L'unica cosa penso si possa fare è misurare il tempo

di una piccola parte del programma e poi moltiplicarla

per quante sono le reiterazioni di questo piccolo campione.

E' mia convinzione che sia sempre meglio orientarsi

a sorti minori, minor numero di numeri, minor tempo.

Che sono in ogni caso anche minor rischio e minor costo.

Per esempio è inutile un calcolo di oltre 5 minuti,

se i risultati diventano disponibili quando per esempio al 10L5,

l'estrazione è già avvenuta.

:)
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
No, non credo si possa e quando avevo chiesto a Luigi,

mi sembra di ricordare che non fosse a conoscenza del tempo

necessario ad ognuna delle istruzioni.

Sui vecchi PC (quelli con il Micro 6500 e poi 65C02 ... 65816)

invece si potevano contare i cicli macchina di ogni istruzione.

C'erano programmi che simulavano il funzionamento delle istruzioni

in linguaggio macchina evidenziando ogni "micro passaggio"

dei dati e dei codici binari nei registri del microprocessore.

Il kernel. Ma si era nella preistoria.

Quello che ti posso dire è che la preparazione dell' html

in output richiede molto tempo.

L'unica cosa penso si possa fare è misurare il tempo

di una piccola parte del programma e poi moltiplicarla

per quante sono le reiterazioni di questo piccolo campione.

E' mia convinzione che sia sempre meglio orientarsi

a sorti minori, minor numero di numeri, minor tempo.

Che sono in ogni caso anche minor rischio e minor costo.

Per esempio è inutile un calcolo di oltre 5 minuti,

se i risultati diventano disponibili quando per esempio al 10L5,

l'estrazione è già avvenuta.

:)

Ciao joe, si a me basterebbe poter fare quanto hai suggerito all'ultimo... ovvero... " unica cosa penso si possa fare è misurare il tempo
di una piccola parte del programma e poi moltiplicarla
per quante sono le reiterazioni di questo piccolo campione
."

Hai qualche code di esempio da poter studiare?

"Per esempio è inutile un calcolo di oltre 5 minuti,
se i risultati diventano disponibili quando per esempio al 10L5,
l'estrazione è già avvenuta."


Al 10 e lotto ogni 5 minuti per ora non ci gioco per quello ;)

🙏👋:)
 

joe

Advanced Member >PLATINUM PLUS<
Faccio un esempio:

Se lo script calcola le 10 ruote ...

calcolato il tempo per Bari

lo si moltiplica per 10

ed il risultato dovrebbe essere una stima attendibile

del tempo necessario ad eseguire tutto lo script.

Esattamente come scrivere AvanzamentoElab 1,10,R alla rovescia.

Avanzamento = 1, allora tempo = 10.

:)
 

joe

Advanced Member >PLATINUM PLUS<
se hai 1 milione di cicli ... che richiedono ore

misuri il tempo per eseguirne 1000 e poi lo moltiplichi per 1000.

Usi T = Timer all 'inizio

alla fine dell'elaborazione del piccolo campione

hai : Tempo elaborazione del campione = Timer - T

Tempo elaborazione stimato = Tempo Elaborazione del campione PER numero di campioni.

:)
 

lotto_tom75

Advanced Premium Member
Faccio un esempio:

Se lo script calcola le 10 ruote ...

calcolato il tempo per Bari

lo si moltiplica per 10

ed il risultato dovrebbe essere una stima attendibile

del tempo necessario ad eseguire tutto lo script.

Esattamente come scrivere AvanzamentoElab 1,10,R alla rovescia.

Avanzamento = 1, allora tempo = 10.

:)

Effettivamente la BARRA invertendo il valore di inizio e fine così come da te consigliato torna indietro... (y) :D

Solo che vorrei poterne leggere anche il valore temporale... (in ore, minuti e secondi) non solo vedere le tacche verdi che diminuiscono progressivamente... :unsure:

Codice:
Dim conta
Dim fine
Dim tempostimato

fine = 1000000

For conta = 1 To fine

If ScriptInterrotto Then Exit For

Call AvanzamentoElab(fine,1,conta)

Next
 

lotto_tom75

Advanced Premium Member
se hai 1 milione di cicli ... che richiedono ore

misuri il tempo per eseguirne 1000 e poi lo moltiplichi per 1000.

Usi T = Timer all 'inizio

alla fine dell'elaborazione del piccolo campione

hai : Tempo elaborazione del campione = Timer - T

Tempo elaborazione stimato = Tempo Elaborazione del campione PER numero di campioni.

:)

"misuri il tempo per eseguirne mille"

come ?

:unsure:

Intendo dire... con la funzione predisposta

Codice:
call scrivi TempoTrascorso

posso ottenere si un valore temporale del campione...
ma poi come lo moltiplico per N volte?

Se faccio semplice operazione di moltiplicazione mi da errore per le unità diverse... Solo se uso Timer non mi da errore ma il risultato che ottengo non è formattato in unità temporali...

Potresti farmi un esempio pratico con il code relativo di come otterresti tu un tempo campione per un for qualsiasi? Grazie

👋:)
 
Ultima modifica:

i legend

Premium Member
Ciao io farei come joe
Avevo scritto la stessa cosa ,ma non avevo inviato il messaggio probabilmente
Fai tInizio = timer
Fai 1000 cicli
Tempotrascorso in secondi= timer-tinizio
Oppure usi datediff ( giggio fece un es3mpio)
Questi secondi li moltiplichi per i cicli restanti e conosci a spanne il tempo totale.
Ma visto che tu elabori anche lunghette di varie dimensioni, non si avvicinerà neanche lontanamente al reale.
Per vedere il conto alla rovescia:
Tempo ipotizzato - timer che scorre
Lanciare questa funzione ha un costo in tempi di tempo non indifferente credo anche perché per essere visualizzata dovrebbe essere inserita nel ciclo , visto che non ce una text box per questo.
Provaci , non sarà precisa forse non sicuramente ottimale come quella di luigi , ma divertiti a scriverla.
Esiste anche la funzione formatta secondi , .
Magari utilizzando un mode per lanciarla e visualizzare solo i secondi e non i millisecondi.
Sperando di non aver scritto cavolate
Ciao .
 
Ultima modifica:

i legend

Premium Member
ciao Tom scritto in velocita, per favore controllalo , nei risultati , se si desidera si puo uscire dal ciclo for
non mettere cicli (iterazioni troppo impegnative)
la velocità dipende da molte variabili
provarlo a tuo rischio e pericolo
la funzione messaggio impegna il pc non poco , avanzamento elab è piu veloce
ecco lo script di prova , ho messo i commenti
Luigi la tua opinione sarebbe mui utile ;)
Codice:
Option Explicit
' verificare eventuali bugs
' con valori di cicli piu basso non è stato verificato per cui non se ne garantisce la corretta funzionalita
' fare le verifiche e confrontare eventuali bugs
'il tempo reale sara maggiore del tempo ipotizzato per il calcolo del tempo trascorso
Sub Main
   Dim k,i
   Dim tIni,tFin
   Dim tPorzione,tIpotizzato
   Dim nIterazioni:nIterazioni = 500000
   Dim nIterazioniParziali:nIterazioniParziali = 100 ' per il calcolo parziale
   tIni = Timer
   For i = 1 To nIterazioniParziali
      k = k + 1
      ' do una funzione qualsiasi per il calcolo del tempo, piu la funzione è impegnativa piu -----
      Call EstrattoFrequenzaTurbo(1,1)
   Next
   tPorzione = Timer - tIni  ' calcolo i millesecondi trascorsi
   Scrivi "Porzione: " & tPorzione & "  -> " & FormattaSecondi(tPorzione) ' trasformo i millesecondi nel formato voluto
   tIpotizzato = tPorzione*nIterazioni/nIterazioniParziali ' moltiplico la porzione calcolata per il resto della torta che la mamma ha diviso
   Scrivi "Tempo ipotizzato: " & tIpotizzato & "  -> " & FormattaSecondi(tIpotizzato) ' trasformo nel formato voluto il tempo ipotizzato
   Call ResetTimer
   k = 0
   tIni = Timer
   For i = 1 To nIterazioni
      If ScriptInterrotto Then Exit For
      k = k + 1
      Call EstrattoFrequenzaTurbo(1,1)
      Call Messaggio(FormattaSecondi(tIpotizzato -(Timer - tIni))) ' funzione tempo alla rovescia
   Next
   Scrivi TempoTrascorso
End Sub
Function FormattaSecondi(s)
   'Questa Function trasforma il numero di secondi passato come parametro in una stringa
   ' passando i secondi si ottengono ore  minuti e secondi  in formato hh:mm:ss
   ' s ---> Numero di secondi da formattare
   ' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
   Dim hh
   Dim Mm
   Dim Ss
   Dim TimeStr
   hh = s \ 3600
   Mm =(s Mod 3600) \ 60
   Ss = s -((hh * 3600) +(Mm * 60))
   TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
   FormattaSecondi = TimeStr
End Function
 
L

LuigiB

Guest
La mia opinione è che se ormai sei maestro Legend ci sarà pure una ragione ...
la riflessione invece è vale la pena inserire questo ulteruiore carico in uno script gia lento di suo ?
 

i legend

Premium Member
Grazie prof :)
Personalmente utilizzo avanzamento elab , è veloce ed aiuta lo script a non impallarsi, se è impegnativo,
Sicuramente a tom serve per sapere cosa altro può fare nel tempo che il pc è impegnato. ( e le elaborazioni di tom sono impegnative)
Buona domenica a tutti :)
 

claudio8

Premium Member
Codice:
Option Explicit
' verificare eventuali bugs
' con valori di cicli piu basso non è stato verificato per cui non se ne garantisce la corretta funzionalita
' fare le verifiche e confrontare eventuali bugs
'il tempo reale sara maggiore del tempo ipotizzato per il calcolo del tempo trascorso
Sub Main
   Dim k,i,T_unitario,T_stima,msg_1,msg_2
   Dim tIni,tFin
   Dim tPorzione,tIpotizzato
   Dim nIterazioni
   nIterazioni = 500000
   Dim nIterazioniParziali
   nIterazioniParziali = 10 ' per il calcolo parziale ... maggiore è questo valore unitario e minore sarà l'errore di stima.
   ' se il valore unitario non supera il tempo minimo in secondi la stima sarà errata perchè dettata da (0 sec. x 500.000 iterazioni) = 0 sec
' si consiglia in questo caso un valore di nIterazioniParziali = 100 o 200
   tIni = Timer
   k = 0
     For i = 1 To nIterazioni
      If ScriptInterrotto Then Exit For
      k = k + 1
      Call EstrattoFrequenzaTurbo(1,1)
     If k = nIterazioniParziali+1 Then
     T_unitario = Timer - tIni
     msg_1 = FormattaSecondi(T_unitario)
     T_stima = T_unitario * nIterazioni/nIterazioniParziali
     msg_2 = FormattaSecondi(T_stima)
     End If
        Call Messaggio(msg_1 & " x 100 iterazioni - " & nIterazioni & " iterazioni stimano " & msg_2)
' il messaggio appare corretto appena raggiunto il n° di iterazioni impostato... testare con valore 1000 iterazioni.
  Next
     Scrivi TempoTrascorso
    Scrivi (msg_1 & " x " &  nIterazioniParziali & "  iterazioni  - " & nIterazioni & " iterazioni stimano " & msg_2)
End Sub
Function FormattaSecondi(s)
   'Questa Function trasforma il numero di secondi passato come parametro in una stringa
   ' passando i secondi si ottengono ore  minuti e secondi  in formato hh:mm:ss
   ' s ---> Numero di secondi da formattare
   ' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
   Dim hh
   Dim Mm
   Dim Ss
   Dim TimeStr
   hh = s \ 3600
   Mm =(s Mod 3600) \ 60
   Ss = s -((hh * 3600) +(Mm * 60))
   TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
   FormattaSecondi = TimeStr
End Function
note aggiunte:
x I Legend, ho modificato il tuo costrutto per ovviare alla ripetizione delle iniziali 100 iterazioni
x Tom : si consiglia in questo caso un valore di nIterazioniParziali = 100 o 1000 x ridurre l'errore di stima
in risposta a Luigi:
la funzione FormattaSecondi viene eseguita solo 1 volta per evitare carichi dei tempi elaborazione, mentre l'if che la contiene ed il Messaggio per forza maggiore vengono eseguite x tutto il ciclo for.
Se queste 2 operazioni appesantiscono lo script + della ripetizione impostata da I legend( ripetizione delle iniziali 100 iterazioni) ècomunque da testare.
un saluto a tutti
 
Ultima modifica:

i legend

Premium Member
Ciao claudio infatti non ha senso fare il calcolo su 10 iterazioni . 100 e' un compromesso tra un calcolo non impegnativo e una stima abbastanza parziale . Nel calcolo finale devi aggiungere il peso della funzione messaggio, che impegna non poco .
Grazie per aver provato lo script:)
Ciao :)
P.s Claudio aggiungere l if nel ciclo for e' devastante( pensa 1000000 di if ) il k in realtà mi serviva solo come peso . Per valori bassi anche avanzamento ekab è un battito di ciglio.
Se è possibile mai mettere if nei for , poi se servono ok.
Ma pensare algoritmi che evitano tale opzione è meglio.
 
Ultima modifica:

i legend

Premium Member
Ciao claudio grazie della spiegazione. Appena posso testo anche il tuo script,
La mia prima idea era il calcolo di una porzione, le vie sono infinite, felice di leggere un altra soluzione, se poi sono migliori tanto di guadagnato. 👍
 

i legend

Premium Member
ciao claudio lo script fatto al volo non era ottimizzato come giustamente hai evidenziato. Grazie ;)
purtroppo cosi lo script come l hai modificato non fa il conto alla rovescia indica piu o meno il tempo stimato
basterebbe un msgbox prima del lancio completo dei cicli e non lanciare proprio la funzione messaggio .
posto un piccolo script di esempio che restituisce il tempo ipotizzato senza inserire l if nel codice e anche cosi si utilizza il formattasecondi solo una volta, e non ci sono ridondanze nei calcoli .
ho inserito anche la funzione tempotrascorso per valutare piu o meno il margine di errore
essendo una lista si puo scorrere il tutto senza ricalcolare le prime iterazxioni utili per il calcolo del tempo stimato
cosi lo script è diviso in parti , ogni parte è facilmente leggibile.
se si vuole modificando leggermente lo script si puo inserire il conto alla rovescia come era stato concepito ma preferisco postare la versione con il tempo fisso per confronto con la tua sub
Ciao e grazie ancora :) (y)
mi dimenticavo di inserire lo script test
Codice:
Option Explicit
' Controllare eventuali bugs
' non modificare i valori
' test e codice di esempio non se ne garantisce la correttezza
Sub Main
   Dim n,e1
   ReDim aN(90)
   Dim nClasse:nClasse = 3
   ReDim aComb(nClasse)
   ' carico arraynumerida combinare
   For n = 1 To 90
      aN(n) = n
   Next
   Dim k
   Dim aR(1):aR(1) = 1
   Dim aColonne:aColonne = SviluppoIntegrale(aN,nClasse)
   Dim nIterazioni:nIterazioni = UBound(aColonne)
   Dim nIterazioniParziali:nIterazioniParziali = CInt(nIterazioni/200)
   ReDim Astat(nIterazioni,2)
   Dim tInizio,tPorzione,tIpotizzato,tResiduo
   Call ResetTimer
   tInizio = Timer
   For n = 1 To nIterazioniParziali
      k = k + 1
      For e1 = 1 To nClasse
         aComb(e1) = aColonne(k,e1)
      Next
      Astat(k,1) = StringaNumeri(aComb," ",True)
      Astat(k,2) = SerieFreqTurbo(3950,EstrazioneFin,aComb,aR,2)
      Call Messaggio("InterazioneParziali per calcolo Tempo complessivo")
      Scrivi FormatSpace(k,5) & "   " & Astat(k,1) & "  " & Astat(k,2)
              if scriptinterroto then exit for
   Next
   tPorzione = Timer - tInizio
   tIpotizzato = tPorzione*nIterazioni/nIterazioniParziali
   tIpotizzato = FormattaSecondi(tIpotizzato + 1)
   For n = nIterazioniParziali + 1 To nIterazioni
      k = k + 1
      For e1 = 1 To nClasse
         aComb(e1) = aColonne(k,e1)
      Next
      Astat(k,1) = StringaNumeri(aComb," ",True)
      Astat(k,2) = SerieFreqTurbo(3950,EstrazioneFin,aComb,aR,2)
      Call Messaggio(" Tempo elaborazione stimato: " & tIpotizzato)
      Scrivi FormatSpace(k,5) & "   " & Astat(k,1) & "  " & Astat(k,2)
               if scriptinterroto then exit for
   Next
   Scrivi " tempo stimato: " & tIpotizzato
   Scrivi " Tempo reale :  " & TempoTrascorso
End Sub
Function FormattaSecondi(s)
   'Questa Function trasforma il numero di secondi passato come parametro in una stringa
   ' passando i secondi si ottengono ore  minuti e secondi  in formato hh:mm:ss
   ' s ---> Numero di secondi da formattare
   ' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
   Dim hh
   Dim Mm
   Dim Ss
   Dim TimeStr
   hh = s \ 3600
   Mm =(s Mod 3600) \ 60
   Ss = s -((hh * 3600) +(Mm * 60))
   TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
   FormattaSecondi = TimeStr
End Function
 
Ultima modifica:

lotto_tom75

Advanced Premium Member
Caspita! Spettacolare Maestro I legend! :eek:o_O Grazie e complimentissimi a Te e a tutti gli altri Grandi intervenuti che saluto con grande stima e affetto. Il top del top. 👌👋 🙂. Se mai riuscirò ad implementarla nelle elaborazioni "pesanti" questa tua funzione I legend mi sarà sicuramente utilissima. Ad ogni modo anche per testare manualmente vari tipi di elaborazione funzionerà alla grande. Grazie ancora.
 

claudio8

Premium Member
Ho provato io a fare 3 test sul tuo vecchio script al post 10 e sul mio, al post 13. Entrambi sono statipuliti delle remmature e uniformati nei testi da scrivere.
Ho ottenuto questi tempi :

Script I legend
-----------------------------------
Test1
Rapporto iterazioni 500
Porzione: 0,203125 -> 00:00:00
Tempo ipotizzato: 101,5625 -> 00:01:42
tempo effettivo formattato 00:01:45
tempo effettivo in secondi 104,8125
errore 3,25
errore in % 3,10077519379845
test2
Rapporto iterazioni 500
Porzione: 0,21875 -> 00:00:00
Tempo ipotizzato: 109,375 -> 00:01:49
tempo effettivo formattato 00:01:44
tempo effettivo in secondi 104,7813
errore -4,59375
errore in % -4,38413361169102
Test3
Rapporto iterazioni 500
Porzione: 0,21875 -> 00:00:00
Tempo ipotizzato: 109,375 -> 00:01:49
tempo effettivo formattato 00:01:45
tempo effettivo in secondi 104,8906
errore -4,484375
errore in % -4,27528675703858

Script Claudio8
-----------------------------------
Test1
Rapporto iterazioni 500
Porzione: 0,21875 -> 00:00:00
tempo effettivo formattato 00:01:47
tempo effettivo in secondi 103,6563
errore -5,71875
errore in % -5,51703346397347
Test2
Rapporto iterazioni 500
Porzione: 0,203125 -> 00:00:00
tempo effettivo formattato 00:01:47
tempo effettivo in secondi 103,9844
errore 2,421875
errore in % 2,32907588279489
Test3
Rapporto iterazioni 500
Porzione: 0,21875 -> 00:00:00
tempo effettivo formattato 00:01:47
tempo effettivo in secondi 103,7031
errore -5,671875
errore in % -5,46933855657677



Inoltre, stranamente, remmando sez If ... end if in cui sono inseriti alcuni calcoli, ho ottenuto tempi mediamente maggiori:

Script Claudio8 con remmata la sez If ...end if
---------------------------------
Rapporto iterazioni 500
Porzione: ->
tempo effettivo formattato 00:01:47
tempo effettivo in secondi 103,8281
errore 103,8281
errore in % 100

Rapporto iterazioni 500
Porzione: ->
tempo effettivo formattato 00:01:47
tempo effettivo in secondi 104,2813
errore 104,2813
errore in % 100

Rapporto iterazioni 500
Porzione: ->
tempo effettivo formattato 00:01:48
tempo effettivo in secondi 104,7344
errore 104,7344
errore in % 100


Questo tuo nuovo script , è sicuramente + meditato.
un saluto
 
L

LuigiB

Guest
Buongiorno, il primo a capire come implementare la soluzione è stato Joe , poi anche gli altri due maestri Clausdio e Legend .. vedo che state analizzando a fondo il problema.
C'è pero da dire una cosa , nel caso di ricerca lunghette non è lo stesso thread che misura il tempo ... i thread sono processi separati quindi uno tiene il cronometro e l'altro corre ... in vbsscript invece si puo solo mettere il cronometro in mano a quello che corre e non è tanto produttivo .. spero capiate la metafora ... un Bolt sarà pure veloce quando corre ma mai si fa la sua corsa col cronometro in mano :)
 

i legend

Premium Member
Ciao prof :)
Il problema in realtà era semplice.
Sicuramente non è produttivo, soprattutto su grandi liste.
Ciao e grazie, a te , per i complimenti, e a claudio per i suoi suggerimenti:)(y)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 26 marzo 2024
    Bari
    30
    51
    17
    01
    53
    Cagliari
    13
    70
    25
    68
    47
    Firenze
    28
    30
    54
    70
    88
    Genova
    67
    87
    22
    03
    62
    Milano
    22
    34
    13
    47
    24
    Napoli
    20
    72
    59
    01
    52
    Palermo
    05
    72
    65
    52
    32
    Roma
    28
    43
    75
    54
    87
    Torino
    16
    08
    17
    24
    38
    Venezia
    67
    28
    55
    60
    29
    Nazionale
    15
    69
    22
    63
    39
    Estrazione Simbolotto
    Firenze
    44
    09
    31
    22
    16

Ultimi Messaggi

Alto