Newsgroup: it.comp.lang.visual-basic
Titolo: Array

ma tra i due array:
myArr(1 to 10, 1 to 1.000.000)
myArr(1 to 1.000.000, 1 to 10)
 
c'č differenza in prestazioni? intendo č piů "pesante" uno rispetto 
all'altro in comsumo di memoria o ricerca valori al suo interno?
Ciao. 
 
 

 Ciao.
 
fai prima a provare....è anche divertente e impari qualcosa sulle 
ottimizzazioni!
 
2 funzioni
 
funz 1
Crea myArr
Attiva/Azzera il timer
scrivi un numero/stringa ad esempio ogni 100 come indice
for x=1 to 1000000 step 100/1000
  for y=1 to 10
       myArr(x,y)=....
 
ferma il timer ...mostra/memorizza i tick
 
 
funz 2
Crea myArr2
Attiva/Azzera il timer
scrivi un numero/stringa ad esempio ogni 100 come indice
for x=1 to 10
  for y=1 to 1000000 step 100/1000
       myArr2(x,y)=....
 
ferma il timer ...mostra/memorizza i tick
 
Adesso chiama più volte le 2 funzioni....mischiate a caso...
 
che so
Call funz1
Call funz1
call funz2
call funz2
call funz1
call funz2
call funz1
call funz2
....e via così per un po di volte....
...e fai una media!
 
prova array di interi long string classi .....
in teoria la massima prestazione su cpu e SO 32 bit dovresti averla con 
un integer
credo anche su un 64bit perchè l'integer si adegua automaticamente alla 
dimensione della WORD della cpu!
 
-- 
----- Italliaaaaa 3227! -----
Mi disturba la morte, è vero. Credo che sia un errore del padreterno. 
Non mi ritengo per niente indispensabile,
ma immaginare il mondo senza di me: che farete da soli?
(Vittorio Alfieri)
 
 


 
Anche senza provare sono d'accordo che il massimo si raggiunge con interger, 
ma forse un po' di piů con i byte.
Provero' a fare come dici tu č che il caricamento dati č comunque lento 
perchč deve caricare i nomi dei fili, quindi deve prima leggerli uno ad 
uno..
Non so' perchč ma mi sembra piů veloce la seconda ipotesi, provero' come 
dici tu!!!!
 
 
 

 news:4f699644$0$6839$5fc...@news.tiscali.it...
ARGH
aspetta che cos'è che vuoi fare?
processare 100.000 file ...estrarre i nomi e memorizzarli in una 
matrice??????
A che pro?
 
Un backup?
VB.NET
?
C'è file watcher!!!
 
http://msdn.microsoft.com/it-it/library/system.io.filesystemwatcher(v=vs.80).aspx
 
http://www.adszone.org/vbnet.aspx?page=fswatcher
 
 
 
PERO' se proprio DEVI
se sei sotto 
vb.net
 usa le collezioni ed i generics
o i trucchetti di questo post
http://stackoverflow.com/questions/1054234/fast-way-to-enumerate-all-files-including-sub-folders
 
 
se sei sotto vb6 (MA LA STUDIEREI ANCHE COME STRADA SOTTO 
VB.net...meriterebbe vedere la velocità!)
ci son le API di Windows!
http://support.microsoft.com/default.aspx?scid=kb;EN-US;185476
 
 
 
PER FINIRE
ti rispondo
NO!
i byte sono quelli più lenti di tipo dati fra i numeri interi
la cpu parla in termini di word che sono a 32 o 64 bit dipende dal tipo 
di cpu e chip di supporto della motherboard
Le istruzioni per sommare 2 word ....per dirne una....sprecano meno 
cicli macchina di una che somma 2 numeri a 16 bit!
Almeno...non sono un ingegnere elettronico...io la so così!Ai tempi 
dell'ansi C era così!
 
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totò)
 
 

 ha scritto nel messaggio 
news:4f69eefa$0$6833$5fc...@news.tiscali.it...

VB6... Ormai ci ho provato a passare al net ma programmando x hobby sai 
com'è ho poco tempo....
Grazie per tutte le informazioni, ma carico i nomi dei file su array perchè 
devo fare vari controlli sul nome del file del tipo che sia scritto con solo 
numeri, che abbia una certa maschera e tante altre cose... e così ho pensato 
di caricare tutto su array e poi lavorarci sopra.
Ciao! 
 
 

 Ciao!
 
A meno che tu non debba, per i tuoi scopi, mettere poi a confronto più nomi caricati in precedenza nel ciclo, sprechi tempo e memoria per generare l'array, mentre potresti fare il controllo su ogni singolo nome di file via via che li scorri

via via che li scorri
 
infatti hai detto giusto devo fare dei controlli tra di loro...