[Linux-Biella] migliorare un ciclo for
Daniele Segato
daniele.bilug a gmail.com
Lun 11 Lug 2011 12:43:45 CEST
2011/7/8 Federico "Darkmagister" Pietta <f.pietta a gmail.com>:
> sto cercando di fare una pagina che fa un check di un dominio con molti
> tld, ora la versione base fatta e funziona solo che ora faccio così
>
> in php
>
> ho array(
> '0' => array('.com', 'No match for'),
> '1' => array('.net', 'No match for'),
> '2' => array('.org', 'NOT FOUND'),
> ......
> e molti altri
>
> quindi chiedo un nome tipo pippo e faccio un for da 0 a count($array) ok
> il problema sta nel fatto che il whois magari nn è immediato, io ora
> faccio exec(whois domain) e poi nell'output cerco la stringa del dominio
> per identificare se disponibile
>
> naturalmente appunto fare un whois ci va un attimo ... e aspettare
> magari 20 o 30 whois ci va un po ... e quindi la pagina ci mette
> parecchio a caricare, stavo pensando di usare ajax per fare ogni dominio
> in parallelo.
>
> secondo voi è fattibile ??? mi sapere consigliare come sistemare l'array
> o qualche tecnica speciale per migliorare il mio script ???
costruisciti una albero di ricerca binaria sull'inverso del dominio
(ehhh?)
hai presente quei plugin che quando cominci a scrivere una parola ti
buttano fuori quasi in tempo reale tutte le parole che cominciano con
ciò che hai scritto?
alcuni usano un'indicizzazione complessa...
ma ti basta costruirti una mappa di mappe...
dominio di primo livello -> mappa, prime 3 lettere del dominio del
secondo livello -> mappa
se ti crei la mappa prima poi ottenere un valore è molto più
efficiente perché hai al più N step dove N dipende da quanto segmenti
la mappa :)
e non dipende più da quanti dati hai...
poi fai tu.
ciao,
Daniele
Maggiori informazioni sulla lista
Linux