
25 February 2008 Monday 10:25:26 tarihinde Bahri Meric CANLI şunları yazmıştı:
> Merhaba
> 
> Kod hakkında malesef detaylı bilgi veremiyorum fakat sonu olan bir döngü 
> (döngü sonsuz döngüye vs girmiyor) içerisinde benzer içerikli sayfaları 
> parsedip (parsetme işleminin bir bölümününde ereg fonksiyonun 
> kullanıyorum ) işlenmek üzere veritabanında yada text dosya da saklıyor.
> 
> Liste bazen bir milyon üzerinde url den oluşabilimekte. Hedef sitelerin 
> sunucularının yavaşlığı yada fazla yük getirmemek için aralara delay 
> serpiştirmek de bazen gerekebilmekte. Bu sebeple kodun çalışma süresi de 
> uzamakta (php-cli ile çalışıyor).
> 
> Durum kısaca bundan ibaret.
Basit bir örnek vereyim:
pages = array()
addresses = array("bir", "iki", "üç", "dört")
saved = array()
for (i=0;i++;i<len(addresses))
        {
        pages[i] = downloadpage(addresses(array))
        if ("@" in pages[i])
                {
                saved.append(array(addresses[i],pages[i]))
                }
gibi bir betiğin (araya hafif Python karışmış olabilir;) hafızayı doldurması normaldir, tüm sayfaları hafızada tutmaya çalışıyor. Aynı betiği 
şöyle yazınca hafıza kullanımı ciddi olarak düşer:
addresses = array("bir", "iki", "üç", "dört")
saved = array()
for (i=0;i++;i<len(addresses))
        {
        ourpage = downloadpage(addresses(array))
        if ("@" in ourpage)
                {
                saved.append(array(addresses[i],ourpage))
                }
Burada saved yerine veritabanı veya bir dosya kullanırsanız daha da düşecektir. Sanırım benzeri bir durum var.
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Mon 25 Feb 2008 - 09:59:14 EET
