Novità

sviluppo sstemi in vbnet

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
Ciao the Legend, 🤞incrocio anch'io le mie dita Confidando in una piu' che proficua visita


Un caro saluto a SLDR concordando che the Legend provando e riprovando (nel suo codificare) conquistera' le sue vette personali!
Ciao a voi


p.s, forse quanto gia' fatto puo' essere ancora validissimo dato che tB e' tuttora "on the way" e il suo sviluppo continua... probabilmente era solo un momento prematuro che tuttavia potrebbe avere ancora una sua ragione d'essere nell'anno che si appropinqua a bussare alle nostre porte!

Hai usato un termine che ho sentito solo 2 volte nella mia vita.

Ha qualcosa di prossimo al "Conte di Carmagnola" ?

:) Scusate la curiosità statistica !
 
Hai usato un termine che ho sentito solo 2 volte nella mia vita.

Ha qualcosa di prossimo al "Conte di Carmagnola" ?

:) Scusate la curiosità statistica !
Ciao Joe, rilevo con piacere la benevolenza che a te Mnemosine concede...
Ergo, pur se incidentalmente l'accezione puo' essere inerita alla prima (in ordine cronologico) delle Opere manzoniane da te citata!
Complimenti :)
 
Ciao a tutti , nuovo aggiornamento

- Verifica vincite sulle estrazioni passate

 
Buona domenica a tutti.
Facendo i programmini in vb.net mi sa che ho combinato qualcosa,e la dll mi è diventata più lenta.
Ora la ricerca su spaziometria è più veloce.

Ma questo non importa.
Domandona:
Per velocizzare la ricerca sulle cinquine Integrali, ho studiato i thread( quello che ho trovato in rete, poco e confuso)
Ho diviso l integrale in più parti , (4)
In pratica 1 per i 4 core.
Inizialmente funzionava( su ruote unite) , ora mi da risultati a caso sempre diversi.
Non capisco perché.
Da quello che ho capito i thread sono stati sviluppati per emulare i puntatori come in c è c++
Ogni thread esegue lo stessa ricerca su blocchi differenti contemporaneamente.
Una scheggia sul vero senso della parola.
Ma perché l output non è corretto?
Sicuramente non è per via del controllo , perché anche caricando un vettore l output è identico.
Spero di essermi spiegato.
Scusa se insisto, ma vorrei capire dove sbaglio.

Per i controlli ho usato il metodo invoke
Così si può fare? Oppure per datagridview non funziona?
Forse non è sufficiente.?

Se invece , non sono codici che utilizzi sul lavoro e non li hai approfonditi , mi potresti suggerire un testo , buono e semplice su cui studiare?

Per leggere i file ho usato streamreader e readline
sono riuscito a capire anche quando finiscono i thread di lavorare per scrivere il testo in output e non di volta in volta.?Sul mio pc posso utilizzare sino ad otto thread.

Se trovi il tempo potresti fare un esempio con 2 thread?

Questa cosa dei puntatori è fantastica.
Beati voi che avete questa genialità, vi stimo fratelli.😁👍
 
Altra domanda per il prof
vorrei fare dei controlli utenti per non riscrivere il codice di volta in volta ogni volta ( rendo l idea :ROFLMAO::ROFLMAO::ROFLMAO::ROFLMAO::ROFLMAO:?)
posto l immagine di un progetto che ho iniziato
i controlli utenti sono RangeAnalisi eSelezionaRuota e selezioneFormazione
con la possibilita di passargli gia i dati
esempio
a range analisi passare inizio archivio e fine archivio e la gestione errori se per esempio data ini è > di dataFin
in pratica se la textBox -> nConc<0 allora ritorna un valore che mi disabilita il tasto elabora
e cosi per gli altri gruppi
per le ruote :
se non ci sono ruote selezionate e non si stabilisce se ruote unite o separate non si abilita il pulsante elabora
stesso discorso per il gruppo formazione

per non scrivere subito a video ,
quando tutti i label con i due punti diventano verdi si abilita il tasto mostra che popola i dati raccolti
si potrebbe fare un esempio semplice semplice, basterebbero anche un groupbox con tre elementi e capire come collegargli dei dati ?
non cerco la pappa pronta ma ci sto sbattendo da un po' , ci penso anche quando sono a letto , che stare seduto non è piacevole.
Questo progettino sfruttava i thread , ma da risultati sbagliati.
se non è possibiole grazie ugualmente :)(y)
UI.png
 
Buona domenica a tutti.
Facendo i programmini in vb.net mi sa che ho combinato qualcosa,e la dll mi è diventata più lenta.
Ora la ricerca su spaziometria è più veloce.

Ma questo non importa.
Domandona:
Per velocizzare la ricerca sulle cinquine Integrali, ho studiato i thread( quello che ho trovato in rete, poco e confuso)
Ho diviso l integrale in più parti , (4)
In pratica 1 per i 4 core.
Inizialmente funzionava( su ruote unite) , ora mi da risultati a caso sempre diversi.
Non capisco perché.
Da quello che ho capito i thread sono stati sviluppati per emulare i puntatori come in c è c++
Ogni thread esegue lo stessa ricerca su blocchi differenti contemporaneamente.
Una scheggia sul vero senso della parola.
Ma perché l output non è corretto?
Sicuramente non è per via del controllo , perché anche caricando un vettore l output è identico.
Spero di essermi spiegato.
Scusa se insisto, ma vorrei capire dove sbaglio.

Per i controlli ho usato il metodo invoke
Così si può fare? Oppure per datagridview non funziona?
Forse non è sufficiente.?

Se invece , non sono codici che utilizzi sul lavoro e non li hai approfonditi , mi potresti suggerire un testo , buono e semplice su cui studiare?

Per leggere i file ho usato streamreader e readline
sono riuscito a capire anche quando finiscono i thread di lavorare per scrivere il testo in output e non di volta in volta.?Sul mio pc posso utilizzare sino ad otto thread.

Se trovi il tempo potresti fare un esempio con 2 thread?

Questa cosa dei puntatori è fantastica.
Beati voi che avete questa genialità, vi stimo fratelli.😁👍


Legend ,se prima funzionava è ovvio che hai modificato qualche cosa che ha compromesso il funzionamento precedente, il fatto che fai una differenza tra ruote unite e separate mi da l'impressione che ci sia un po' di confusione non capisco perche sia necessario specificarlo
che ithread siano stati svilupapti per emulare i puntatori non so dove lo hai letto, se da risultati a caso è probabile che thread differenti accedano alle sesse variabili senza aver implementato i metodi di protezione , alla data grid passi una datatable e si alimenta da sola,
come avrai notato il web è pieno di fonti e di esempi , pero devi partire dalle basi ho l'impressione che tu sia partito in quinta ..
 
Come sempre🙂👍
Proverò a rinominarli differentemente.
Ho fatto copia incolla e cambiavo solo l ndirizzo di dove prendere i file.

Ruote separate faccio il ciclo dell array che contiene le ruote e faccio la statistica
Se unite non ciclo e gli passo direttamente l array.

Sui metodi di protezione non ho letto niente,
Ho utilizzato invoke .
Tu ci hai provato a utilizzare piu thread ?
Credo che 4 thread dovrebbero essere su qualsiasi PC oggi giorno.
 
eccoti un esempio di come l'ho implemetato io , molto semplice sviluppa solo in cinquine col classico metodo dei cicli for nidificati , cosa che in un programma degno di tale nome va evitata come la peste , cerca la cinquina piu ritardata per ambo su ruote a scelta

rimuovere l'estensione .txt e usare sevenzip per scompattare
 

Allegati

Non ho trovato da nessuna parte un codice così evoluto.
E non hai utilizzato neanche la dll
Nonostante ho cambiato le ruote mi restituisce sempre lo stesso ritardo max .
Mai visto qualcosa di così assurdamente veloce.
E avevi detto che non funzionava.
Io ho usato otto thread ed ho messo al massimo il numero di colonne.
Spero di capire questo codice in un mese.
Grazie .
Sei un FENOMENO 👍
 
si ho scordato di azzerare la variabile che essendo globale rimaneva sporca , comunque a me con un thread solo va piu veloche che con qualsiasi altro numero di thread.

1701036056206.png
 
altra ottimizzazione anche se è solo un esempio è qualla durante lo sviluppo , , attualmente assegna all'array aN() le 5 posizioni dentro il ciclo k5 , invece si dovrebbe assegnare an(x) ad ogni ciclo for .. non so se mi sono spiegato .. vediamo se hai capito ...
 
Ok faro le prove , ho notato che aumentando il numero di colonne va più veloce.
Secondo me è super veloce anche prendendo il ritardo massimo e le presenze .
Io invece facevo leggere i file ad ogni thread e ognuno leggeva lo stesso numero di colonne contemporaneamente.
Insomma proprio qualcosa di inguardabile.
Avevo lo stesso script ripetuto più volte . Con la stessa variabile.
Che brutto codice che avevo scritto.
Grazie ancora.
Il tuo codice è super elegante, se mi passi il termine.
 
Ok faro le prove , ho notato che aumentando il numero di colonne va più veloce.
Secondo me è super veloce anche prendendo il ritardo massimo e le presenze .
Io invece facevo leggere i file ad ogni thread e ognuno leggeva lo stesso numero di colonne contemporaneamente.
Insomma proprio qualcosa di inguardabile.
Avevo lo stesso script ripetuto più volte . Con la stessa variabile.
Che brutto codice che avevo scritto.
Grazie ancora.
Il tuo codice è super elegante, se mi passi il termine.
se calcoli il ritardo puoi andare a ritroso sulle estrazioni ed uscire appena lo trovi , se invece devi ccalcolare ritardo massimo e presenze devi scorrere trutte le estrazioni per ogni cinquina.
Aumentando il numero di colonne gestite dal singolo blocco ovviamente si riduce il numero di volte che deve creare threads per analizzare i blocchi e le conseguenti risorse impiegate hanno meno impatto.
 
ogni volta che ci ho provato le prestazioni sono sempre peggiorate , infatti ..

Vedi l'allegato 2272695
Ciao Luigi, posso chiederti quale testo (il titolo o altro riferimento) contiene questa pagina? In linea generale non sono molto d'accordo che i threads possano essere deleteri nei tentativi di ridurre il tempo di computazione. La pagina che hai postato, sembra afferire al framework .Net (ergo mondo windows) che notoriamente non ha una "vera" implementazione dei Threads, come l'ha sempre avuta Unix (cfr. POSIX Threads e relativo file header "pthread.h" per il C...), come li ha anche Linux in quanto suo diretto discendente, come li hanno anche sistemi su di essi basati (SO *nix like) come FreeBSD, NetBSD, OpenBSD, Mac OS X, et cetera.

Comunque, Scetticismo tecnico a parte (mi piacerebbe leggere questo libro che hai citato...) dovuto al fatto che giganti come IBM, INTEL, AMD & others Silicon Companies, che moltiplicano costantemente i cores che possono stipare nei loro wafers grazie alla tecnologia che permette di diminuire lo spazio tra gli elementi di cui i processori sono composti (cfr. TSMC, SAMSUNG, INTEL e altre fonderie) che al momento e' dell'ordine dei 2-3 nanometri, questo implica che lo sviluppo e la produzione di tali processori costi decine di miliardi di dollari... Non credo assolutamente che questi giganti gettino via i loro denari SOLO per far bella figura nella corsa a chi stipa piu' cores dentro ai wafers!!!

Il mondo scientifico, accademico, il settore HPC et cetera, con i linguaggi Fortran e C ha da sempre tratto importanti risultati nel parallelizzare il codice (parallelizabile) rispetto ai tempi di elaborazione, proprio attraverso l'uso dei threads...
 
Ultima modifica:
ciao Rookie , qui si parla specificamente del DotNet, questo è uno dei tanti appunti che ho catalogato durante le mie ricerche , da dove proviene non ricordo , non credo sia un testo, piu probabile qualche risposta che ho trovato interessante su stack overflow o simili , mi sembrava utile farla leggere a legend
Dalla mia esperienza pratica risulta tutto confermato , nel mondo accademico windows si usa poco che io sapppia , non sono un accademico in effetti :-) . Il collo di bottiglia sta nell'accesso alla memoria , finche le operazioni si svolgono tutte nel processore e nella sua cache avere più core aumenta la potenza di calcolo ovviamente.
Il problema della velocità come abbiamo sempre detto (mi rivolgo a Legend) si affronta prima di tutto con un buoon algoritmo , secondo poi con un linguaggio compilato (che non è il dot net) , terzo poi con architetture dedicate .
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 23 novembre 2024
    Bari
    33
    80
    86
    52
    25
    Cagliari
    67
    57
    59
    05
    80
    Firenze
    31
    32
    58
    88
    77
    Genova
    40
    39
    23
    36
    81
    Milano
    28
    58
    45
    25
    38
    Napoli
    20
    82
    23
    44
    57
    Palermo
    76
    56
    88
    62
    31
    Roma
    12
    81
    59
    74
    72
    Torino
    46
    53
    72
    45
    23
    Venezia
    04
    12
    42
    64
    20
    Nazionale
    63
    44
    78
    10
    55
    Estrazione Simbolotto
    Torino
    43
    42
    12
    39
    22
Indietro
Alto