di Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 Selamlar, 2,5 milyon satirlik bir dosya icerisinde cat + grep ikilisi ile arama yapmayi denedigimde sonucu 3-4 saniyede aliyorum. Bu sureyi dusurmek icin onerebileceginiz yol yordam var midir ? Yani yazilim olmasi sart degil, sadece algoritma ya da fikir de yeter. Ben kodlarim gerisini =)
di Mesaj tarihi: Ekim 13, 2009 Konuyu açan Mesaj tarihi: Ekim 13, 2009 Hadi lan, aslansiniz kaplansiniz bilirsiniz. Index olustur demeyin ama. Onu zaten yapiyorum, onun haricinde bir yol yontem istiyorum.
sharky Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 Mail logunda aradigini varsayaraktan, tarihe gore bir filtreleme yapabilirsin. Ornegin aradigin tarih/saat bulundugun satirdan bilmem kac dakka ilerdeyse ( istatistiksel olarak incelemen lazim tabii bunu once ) 5000 satir skip edersin v.s.
di Mesaj tarihi: Ekim 13, 2009 Konuyu açan Mesaj tarihi: Ekim 13, 2009 Yok abi daha cok iliskisel verilerin text dosyasina dump edilmis haliydi data. Verilerin sirasini degistirmek belki ise yarayabilirdi ama zaten denemisiz. Geriye deneyebilecegimiz pek bisey kalmasi sanirim.
Ractamainus Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 indexlemek zorundasın dediğin gibi.. hashtable kullan indexlerken de.
Mirage Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 Daha hızlı bir harddisk almayı düşünebilirsin. Raid ile aynı harddisk'ten birden fazla takarak hızlandırabilirsin. Hatta birden fazla bilgisayar ile paralel arattırabilirsin (becerebilirsen :p).
BonePART Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 Mirage said: Daha hızlı bir harddisk almayı düşünebilirsin. Raid ile aynı harddisk'ten birden fazla takarak hızlandırabilirsin. Hatta birden fazla bilgisayar ile paralel arattırabilirsin (becerebilirsen :p). super computer alsin hatta di mi
Astral Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 önce parçalara böl, winsyntax var, çoklu dosyalarda toplu arama, değiştirme vs. konularında süperdir. tavsiye ederim.
Penthesilea Mesaj tarihi: Ekim 13, 2009 Mesaj tarihi: Ekim 13, 2009 Perl biliyorsan ufak bir perl programi direk. ha performans acisindan bilmiyorum tabi 3-4 saniye olayi ne olur.
elesso Mesaj tarihi: Ekim 14, 2009 Mesaj tarihi: Ekim 14, 2009 satır atlayarak arasın, biraz heycan gelsin olaya
aquila Mesaj tarihi: Ekim 14, 2009 Mesaj tarihi: Ekim 14, 2009 hatta 5 satirda bir tequila shotlasin.
nedanko Mesaj tarihi: Ekim 16, 2009 Mesaj tarihi: Ekim 16, 2009 soyle bisi var denedin mi? http://tdas.wordpress.com/2008/02/03/speed-up-grep/ birde sorted dosyalari daha kisa surede ariyor gibi bisi kalmis aklimda oyle denesene bi. ya da bu sreukli olacak bisiyse ve dosya sabitse dosyayi alfabeye gore bol, 40 a falan boldugunde hizlanir bayagi a b c diye arayip bulunca ne yapacaksin bi de, yani icinde var mi yok mu diye ariyosan, ve kritik bisiyse baska yollarda var saliselere indirebilecegin. edit hatta diger yolu soyliyim, sphinx kur orada indexlet, bulman 0.001 sn falan alir
Penthesilea Mesaj tarihi: Ekim 16, 2009 Mesaj tarihi: Ekim 16, 2009 Yeni fikirle geliyorum, bu 2.5 milyon satirlik dosya ayni dosya mi, her seferinde bunu mu kullaniyorsun? Eger oyleyse Trie diye bir data structure var, bi kere ona yukleyeceksin sonra instant bulacaksin direk sonuclari: detayina giricektim ama wiki sagolsun varmis aciklamasi :) http://en.wikipedia.org/wiki/Trie kesin milyon tane vardir zaten nette de, ben ingilizce icin yazmistim zamaninda bir tane, C++'da, isine yaricaksa gonderebilirim. Node class'iyla oynayarak pointer sayisini 26 dan 29'a cikarirsan ve ingilizce karakterleri cikarip turkceleri eklersen turkce olur zaten :) Wikideki ornek tam iyi degil gerci bence, her node'da bir karakter tutucaksin sadece sen, mesea adam to'yu t -> to diye tutmus, sen t -> o diye tutucaksin, ve de sayilar yerine eger o node'da tamamlanan bir kelime varsa 1, yoksa 0 tutacaksin, t'de 0 o'da 1 olcak mesela bu ornekte..
riglous Mesaj tarihi: Ekim 17, 2009 Mesaj tarihi: Ekim 17, 2009 dosyayi ikiye bolmek ne kadar suruyor? 2.5 milyon satir pek bir sey ifade etmiyor aslinda, kac gb (2.5milyon satirda 1 kolon da olur 100 kolon da)? wc -l diyip satir sayisini aldiktan sonra dosyayi tail'la ikiye bolmen ne kadar suruyor? Sonra bu islemi recursive bir sekilde yaparak ararsan hizlanirsin. Ama dedigim gibi, onemli olan dosyayi ikiye bolme hizin, bu da dosyanin boyutuna bagli.
di Mesaj tarihi: Ekim 18, 2009 Konuyu açan Mesaj tarihi: Ekim 18, 2009 Dosya sik arananlar ust siralarda olacak sekilde tasarlanmisti esasen. Yani buna ragmen sikinti yasandi =) O sebeple vazgectik bu yoldan yordamdan. Farkli birseyler ustunde calisiyorum su anda.
Öne çıkan mesajlar