İşlemciler, Derleme Zamanında fark yaratıyor

Ortalama bir programcı gün boyu neler yapar? Kısaca özetlemek gerekirse, kod yazar ve istenen sonuca ulaşana kadar ya da üzerinde çalıştıkları hatayı giderene kadar tekrar tekrar yazdıkları kodları test ederler. Bu iş düşündüğünüzden daha eğlencelidir, ancak büyük ölçüde sabır ve dikkat gerektirir. Programcıların gözünden kaçan ayrıntılar uzun vadede fark yaratabilir. Derleme zamanı örneğine bakalım. Derleme zamanı, her programcının başa çıkmak zorunda kaldığı kabuslardan biridir. Genellikle hafife alınır ve olduğu gibi kabul edilir. Oysa aslında üretkenlik düzeyinde fark yaratan bir etmendir. Derleme zamanı, sisteme giriş yapıldığı an ile çıkışın sağlandığı an arasında geçen süredir. Basitçe açıklamak gerekirse, bilgisayar kodun doğruluğunu kontrol ederken geçen süre olarak da ifade edilebilir.

Eğer programcı değilseniz, bu konuyu anlamanız biraz zor olabilir. Bir web ya da masaüstü uygulaması yazdığınızı düşünün: Kodu derlemek için “oluştur” (build) düğmesine her bastığınızda, oluşturulan kodun büyüklüğüne göre önemli ölçüde değişen bir bekleme süresi olur. Asıl sorun ise karmaşık kodların derleme zamanının 30-40 dakika kadar sürmesi ve bu süre boyunca kodda hiçbir şekilde değişiklik yapılamamasıdır.

Bir programcının iş yaşamı boyunca programların derleme işlemini tamamlamasını beklerken harcadığı zamanı bir düşünün!

Daha iyi anlamak için şu grafiğe bir göz atın:

Bu süre, Firefox tarayıcı üzerinde en iyi ihtimalle 23 dakikadır. En kötü senaryodaysa 46 dakikaya kadar çıkabilir! Bu fark tabii ki merkezi işlem biriminin (CPU) performansından kaynaklanır.

Vakit nakittir sözü biraz klişe gibi gelse de hiç kimse bu kadar çok zamanı boşa harcamak istemez. İşte bu yüzden, başta serbest zamanlı çalışılan işler olmak üzere belirli durumlarda beklemeyle geçen her saniye, teslimatı ve dolayısıyla kazancı etkileyebilir.

Zamandan tasarruf etmenizi sağlayan bir CPU ile ay sonundaki kazancınızı arttırmakla kalmaz, aynı zamanda boş zamanınızı arttırabilir ve daha yüksek performans garanti edebilirsiniz. Proje derleme sürenizin yalnızca altı dakika sürdüğünü, ancak bunu günde en az on kez yapmanız gerektiği için bilgisayarınızın yazdığınız kodu derlemesi için günde 60 dakika beklediğinizi düşünün. Bu rakamlara göre ayda 20 saat beklemiş olursunuz. Gerisini siz hesap edin.

Yeni 7. nesil Intel Core i7 işlemcili bilgisayarlar (Extreme Edition işlemcili bilgisayarlardan bahsetmiyorum bile) gibi hızlı bir bilgisayara sahip olmanın büyük bir fark yaratacağı çok açık. İyi bir programcı, bilgisayar kurma ya da bilgisayara yeni bileşenler ekleme fikrinin korkulacak bir şey olmadığını bilir. Üstelik bundan heyecan bile duyabilir. Bu nedenle eksiksiz bir bilgisayar satın almanız şart olmayabilir.

Yukarıdaki grafikte gördüğünüz gibi, çeşitli işlemciler arasındaki performans farkı ortada. Buna göre, yaptığınız yatırımın getirisini neredeyse anında almanız mümkün. Bu, programcılık kariyerinizde zamandan (ve böylelikle paradan) tasarruf etmenizi sağlayacak en ideal ve en kolay çözüm olabilir.

Elbette bu sorunu azaltmanın başka yolları da var, ancak yaptığınız tüm değişiklikler CPU’nun gücüne kıyasla yalnızca küçük bir fark yaratacaktır.

Bulut oluşturmayı denemek faydalı olabilir. Bir sunucuyu Bulut üzerinde yapılandırarak yazılımınızı otomatik oluşturma olanağı elde edebilir ve sunucunuz işin ağır kısmını yaparken çalışmaya devam edebilirsiniz.

Alternatif olarak derleme yazılımınızı optimize etmeyi deneyebilirsiniz, ancak derleyiciyi optimize etmek kolay bir iş değildir. Nasıl çalıştığını ve hangi bölümlerde değişiklik gerektiğini anlamak uzun zaman alır. Yine de yazılımınızın derleme zamanını kısaltmak için deneyebileceğiniz geçerli bir çözümdür.

Bilgisayar kullanmanın programlama veya gelişmiş grafik programları kullanma gibi daha teknik yanlarına girdiğimizde, donanımın gücünün birçok şekilde fark yarattığı açıkça görülür. Bunların en önemlilerinden biri de bekleme süresidir ve zamandan daha değerli bir şey yoktur.

Yazan: Marco Mignanowww.webdevelopertips.com

Fotoğraflar:

Windows 8 – Visual Studio 2012

Compiling Qt SDK

Bu Makaleyi Paylaş