Windows 7′de Multi-threaded uygulamalar

Google Chrome ilk çıktığında ne kadar heyecanlanmıştık. Chrome’u çalıştırdığınızda başlatılan ilk thread (iş parçacığı) asla I/O işlemleri yapmıyor, böylece siz Chrome simgesine tıkladığınız anda uygulama açılıyordu. Yer imleriniz, geçmiş listeniz, kısacası Chrome’un ihtiyaç duyacağı ve diskinizde yazılı olan her şey ayrı thread’ler tarafından kontrol ediliyor, böylece kesintisiz bir web deneyimi yaşıyordunuz.

Aynı günlerde, IE8 tarafında ise işler biraz karışıktı. Chrome “her şey farklı threadlerle yapılıyor” anlayışı üzerine çok eğilmişti. Bunun üzerine ise Microsoft cephesinde “IE8′de de zaten her bir pencere ayrı bir thread altında çalışıyor.” fikri etrafında dönen bazı pazarlama adımları gördük. Bu doğruydu doğru olmasına fakat Chrome’daki multithreading anlayışı bundan biraz daha kapsamlıydı.

Ve bugünlere geldik. Microsoft, muhtemelen tarihinin en hızlı işletim sistemi olan Windows 7′yi satışa sunmak üzere. Yaklaşık 1 aydır kullandığım Windows 7 her anlamda bilgisayar başında geçirdiğim saatleri çok ama çok daha verimli kıldı.

Ama bahsedeceğim şey aslında şu: Windows 7 ilk açıldığında taskbar’daki tüm simgeler yükleniyor ve bilgisayar o an tam açılmamış, hard disk hala motor gibi çalışıyor olsa bile tüm bu simgeler üzerine tıklandığında kolayca tepki veriyor. Tıpkı Chrome’un ilk açılışı gibi.

Bu konunun biraz üzerine gittiğimde ise şunu farkettim: Bilgisayarınız ilk açıldığında, task bar’daki simgelere iliştirdiğiniz kısa yollar ve o uygulamalar ile ilgili geçmiş bilgilerinin hiç biri yüklenmiyor ve bu işlem muhtemelen farklı threadler tarafından yapılıyor. Böylece siz task bar simgelerini gördüğünüz anda üzerlerine tıklayıp çalıştırabiliyor, ya da yerlerini değiştirip özelliklerini görüntüleyebiliyorsunuz. (Task-bar simgelerinin nasıl yüklendiği ile ilgili henüz teknik bir bilgi bulamadım, dolayısıyla bu bir tahminden öteye geçmiyor aslında…) Benzer bir şekilde, Vista’da “Network & Sharing Center” simgesine tıkladığınızda bilgisayarın neredeyse 10 saniye boyunca tepki vermemesi gibi sorunlar Windows 7 de yaşanmıyor.

Bu tabi ki yeni bir teknik değil fakat kullanıcı arabirimlerinde multi-threaded metodlar izleme konusunda Google’ın teknoloji dünyasına öncülük ettiği de bir gerçek. Windows’ta da bunun örneklerini görmek gerçekten mutlu ediyor insanı. Tabi eğer Windows 7 baştan aşağı multi-threaded uygulamalar ile dolu ise, 96 MB Ram’e sahip bilgisayarlara nasıl kurulup çalıştırılabiliyor, o da başka bir incelemenin konusu…

NOT: Tüm bu yazdıklarıma ters düşebilir fakat Windows 7′de karşılaştığım tek performans problemi Chrome’da flash videolarını izlemeden önce Chrome ekranının 4-5 saniyeliğine tepki vermemesi. Muhtemelen Chrome’un gelecek sürümlerinde bu sorun da giderilecektir.

Antik Roma parmaklarınızın altında

Yüzlerce yıllık bir medeniyetin beşiği olan Antik Roma’yı Google Earth‘te 3 boyutlu bir şekilde gezmek ister misiniz?

Virginia Üniversitesi’nin yapmış olduğu bu çalışma ile Google Earth’te Antik Roma’ya ait bütün kalıntıları ve 5000′den fazla binayı, oldukça detaylı bir şekilde hazırlanmış 3 boyutlu modelleri ile görmeniz mümkün hale geliyor. Daha da güzeli, her bina ve kalıntı hakkında bilgileri doğrudan Google Earth’te okuyabiliyorsunuz. Bir Google Earth katmanı olarak hazırlanan sanal Antik Roma kenti’ni Google Earth katmanlarından Gallery klasörü altından “Ancient Rome in 3D” seçeneğini işaretleyerek görüntüleyebiliyorsunuz. Bu seçeneği seçtikten sonra yüklenen Placemark’lardan herhangi birine tıklayarak açılan penceredeki “Ancient Terrain”, “Ancient Roman Landmarks” ve “Ancient Roman Buildings” bağlantılarına tıklayarak gerekli .kmz dosyalarını yüklemeniz gerekiyor ki bu işlemin pek kısa sürdüğünü söyleyemeyeceğim. 

Bu deneyimi yaşamak için tavsiye edilen bilgisayar konfigürasyonu ise 512MB ekran kartı, 3GB RAM ve Dual-Core 2.GHz işlemci. Tam anlamıyla bir kaynak canavarı olarak nitelendirebileceğimiz bu katmanı görüntüleyebilecek teknolojiye sahip olmayanlar için doğrudan İtalya’ya gitmek daha uygun bir seçenek olabilir. :) Buradan İtalya’ya uygun fiyatlı uçak biletleri bulabilir ve şuradan da kalabileceğiniz hostelleri araştırabilirsiniz.


Kullanıcı deneyimini ölçümlemede sonraki adım: “Beyin dalgalarını okumak”

Bildiğiniz gibi YouTube dünyada en çok kullanılan video paylaşım sitesi. Geçtiğimiz günlerde günlük olarak gerçekleştirilen arama sayısı bakımından Yahoo!’yu dahi geride bırakan YouTube tüm bunları yapabilmek için ihtiyaç duyduğu internet bağlantısı için her ay milyonlarca dolar ödemek zorunda kalıyor, bu parayı ise reklam gelirleri ile kompanze edemiyordu.

Para kazanabilmek için videolara reklam alması gerektiğini anladıktan sonra araştırmalara başlayan Google, bu sefer alışılmadık bir yöntem izlemeye başladı. Geçmişte kameralarla ve kullanıcının deneyimini screencast olarak kaydederek yapılan çalışmalar, bu sefer deneklerin kafalarına EEG bağlanarak beyin dalgaları ölçülerek yapılıyor. Böylece Google kullanıcıları rahatsız etmeden en etkili video reklam modelini geliştirmeye çalışıyor.

http://blogs.zdnet.com/Google/?p=1162

Google Chrome nasıl bu kadar hızlı çalışıyor?

Az önce Google Chromium Blog‘da yayınlanan bir yazı bu soruya ışık tutuyor. 

Google Chrome geliştirilirken, yazılımcıların en çok dikkat ettikleri konuların başında disk yazma okuma işlemlerini minimuma indirmek geliyor. Bu ne kadar mı önemli? Yıllardır kullandığınız ve disk birleştirme işlemini bir kez dahi uygulamadığınız bir Windows kurulumunda Internet Explorer’ın kaç saniyede açıldığını bir düşünün? Ya da bilgisayarınız ilk açıldığında IE ya da Firefox’u açmayı deneyin. Açılmıyor mu? Bu büyük olasılıkla tarayıcınız yüklenirken favori listelerinizin, cache bilgilerinizin, kullanıcı ayarlarınızın, cookie bilgilerinizin, kısacası sabit diskinizde tarayıcı ile ilgili ne varsa hafızaya yüklenmesi sebebiyle karşılaştığınız bir durum. 

Peki Chrome’da ne değişti de hantal bilgisayarım daha Windows Vista’yı doğru düzgün açamamışken Chrome’a tıkladığım anda tarayıcım açılıyor?

Google tarayıcının sabit diskinizle olan ilişkisini değiştirdi. Chrome’un çalıştırdığı ana thread kesinlikle sabit diskinizle ilgilenmiyor. Hatta bu, tarayıcının geliştirilmesi sırasında Google’ın yazılımcılarına şart koştuğu bir kural: ANA İŞ PARÇACIĞI ASLA DİSKE VERİ YAZIP OKUYAMAZ. 

Bu kurala o kadar sadık kalınmış ki, bu iş parçacığının gerçekten I/O işlemleri yapıp yapmadığı, I/O hakları elinden alınarak çalıştırılmak suretiyle test edilmiş. 

Peki Chrome hiç mi diske veri yazmıyor? Elbette yazıyor ve okuyor. Fakat bunu yapan, sizin gördüğünüz kullanıcı arabiriminden ayrı bir şekilde çalışan iş parçacıkları (thread). Dolayısıyla kullanıcı arabirimi oluşturulurken bir taraftan da favorilerinizin ya da geçmiş ziyaretlerinizin yüklemesini beklemek zorunda kalmıyorsunuz. Benzer şekilde taradığınız sayfayı farklı kaydederken diğer işlemlerin devam etmesi de asenkron çalışan iş parçacıkları sayesinde gerçekleştiriliyor. 

Web’de asenkron uygulamaların ilk zamanlarında, henüz hiç bir AJAX kütüphanesi hayatımızı kolaylaştırmazken, kullanıcılara daha iyi ve hızlı bir deneyim sunabilmek için kodlamada çektiğimiz sıkıntıların bir benzeri de Chrome’un bu şekilde çalışmasının sağlanması adına yaşanmış. Bu girişimlerin başarıya ulaşıp ulaşmayacağını önümüzdeki günlerde göreceğiz.

Google Chrome güncellemesi.

Google Chrome’un yeni sürümü (0.3.154.0), yazılım geliştiriciler kanalına üye kullanıcıların (dev-channel) test etmeleri amacıyla az önce yayınlandı. 

Bu sürümde özellikle Flash animasyonlarında CPU kullanımını %100′e çıkartan ve Adobe Flash eklentilerinin çökmesine neden olan buglar ile birlikten bir çok küçük sorun da giderildi.

Fakat benim için bu sürümdeki en büyük ilerleme birçok dizüstü bilgisayarda touch pad ile scroll yapamama sorununun giderilmiş olmasıdır.



© Copyright 2010 Eren Baydemir. Tüm hakları saklıdır.