8 saniyede ~1892 tane dosyanın isimlerindeki karakter hataları gidermek istenilen kriterlere göre düzeltmek kaç programın harcıdır bilemem ama ben bunu başardım.Python ve Qt nin epeyce yardımı oldu tabi.Bu arada bu hızı derlenmemiş (pyd`ye çevrilmemiş) python modüllerim ile gerçekleştirdim.Çoğu kişi bu modülleri derleyip aynı testi yapınca fark olduğunu söylüyor ama buna ihtiyacım yok:).En azından şimdilik yok.
Detaylara gelince bu 1892 tane dosyanın yaklaşık 90%`ında hatalı türkçe karakterler vardı.Yani "Çoşkun" yerine "oåkun" yazıyordu dosya ve dizin isimlerinde.Tabi bunun gibi bir çok hata daha mevcuttu.Anlatmak istediğim şuki bu kodlar hiç bir şekilde encode/decode olayıyla çevrilemezlerdi çünkü aralarında pek ortak nokta yoktu.Aslında vardı ama hep kaçaklar oluşuyordu.Bunun için bende python un bana verdiği güç ve hız ile güzel bir fonksiyon yazdım ve kaçağı en aza indirdim.En az diyroum çünkü benim bilgisayarımda olmayan bozuk karakterlerde olabileceğini düşünüyorum ama benim bilgisayarda olupta düzeltemediğim hiç bir karakter yok.I love you python.Başka ne diyebilirim ki.Bir de bu problemleri tüm bilgisayarlarda tüm dosya sistemi kodlamalarında(utf-8,iso-8859-9,cp1254,.....) gerçekleştirmek diğer dillerde yapılırdı tabi ama nasıl yapılırdı ne, kadar hızlı olurdu,ne kadar başarılı olurdu bilemiyorum.
Ben yine detaylara devam edeyim en iyisi:).Bu 1892 tane dosyanın;
1. okunup düzeltilmesi yaklaşık 3 saniye sürdü
2. kaydet butonuna basınca yani bu bilgilerin diske yazılması en fazla 5 saniye kadar sürdü
3. işlemler bitipte tekrar okuyup bilgileri bize tekrar sunmak ise yaklaşık 2 saniye sürdü
Aslında 1. ve 3. işlem aynı işlem ama 3. işlemde artık düzeltecek bişey yok ve diskten okuma sırasında RAM`den de yardım alındığı için hız farkı oluşuyor.
OrganizasyonizM V0.7.2 ile bu hızlara ulaşmak sanırım pek mümkün değil çünkü bir çok kodu temizledim.Hatta dosya okuyup yazma işlemlerini baştan yazdım desem yalan olmaz.Nerden baksak %70`ini silip tekrar yazdım.Tekrar yazdım derkende aynılarını yazmadığımı belirteyim.Fonksiyonları iyice parçaladım,globallerin bir kısmını temizledim,kullanıcının bilgisayarının dosya sistemi kodlaması(utf-8,iso-8859-9,cp1254,.....) ne olursa olsun çalışması için kodların büyük kısmını değiştirdim.
Kötü haber şuki bu yeni özelliklere kavuşmak için yaklaşık bir hafta daha beklemek zorunda kalacaksınız sanırım.Çünkü herşeyin testi taa en baştan yapmam lazım çünkü dediğim gibi çekirdeğin çok önemli ve büyük bir kısmı değişti.1-2 saattir test ediyorum bulduğum bir çok hatayı düzelttim.Şu an için dosya işlemlerinde bir problem görmedim ama diğer dosya sistemi kodlamalarına sahip bilgisayarlarda da testlerimi yapmak zorundayım.Gerçi artık epk sorun çıkartacağını sanmıyorum ama olsun.Ayrıca eklemeyi düşündüğüm bir kaç özellik daha var ve eklediğim bir kaç özellğide geliştirmem lazım.Çünkü böyle pek kullanışlı değişmiş gibi geliyor bana.Aslında ihtiyaçları gideriyorlar ama seçeneklerini arttırmalıyım.
Neyse OrganizasyonizM V0.8 en kısa sürede sizlerle birlikte olacak.Aslında planlarıma göre çoktan sizinle olması lazımdı ama "Şimdi Ne Mi DinliyoruM?" ve "Dizin SimgeM" isimli eklentilerimide geliştirmem gerekti.Onlarıda adam ettim ama artık.
Bu projemin bu kadar başarılı olacağını başlarda pek düşünmüyordum hep performans sorunlarım olacak sanıyordum ama şükürler olsun şu anda OrganizasyonizM de hızdan uçuyor ve bende rüzgarıyla uçuyorum.
Birde bahsetmeden edemeyeceğim.Ram kullanımı bana ilk başlarda çok yüksekmiş gibi geliyordu ama az önceki testte bakkımda Ram kullanımı 50MB (ELLİ :) ) civarlarındaydı üstelik eric4`ün hata ayıklayıcısıyla çalışıyorken bu böyle.
Artık nokta koyayım bu yazıya.Heyecandan yazdıkça yazasım geliyor:).
Bu arada ilk cümleyi okudumda aklıma yine bişey geldi:).Bazı adı lazım olmayan işletim sistemleri bu kadar dosyayı silmeye hazırlarken bile daha çok zaman harcıyor:).Taş atmadan hayatta rahat edemem:).
Tamam artık gidiyorum.Aslında daha çok taş atasım var ama neyse kalsın şimdilik.Hele bi V0.8 çıksın bakarız icabına.
Recent comments
7 weeks 1 day ago
13 weeks 2 days ago
17 weeks 4 days ago
17 weeks 5 days ago
22 weeks 5 days ago
23 weeks 2 hours ago
39 weeks 2 days ago
43 weeks 5 days ago
46 weeks 2 days ago
1 year 8 weeks ago