Hangi İşletim Sistemini Kullanıyorsunuz?

#42

Bahsettiğiniz bu optimize eşdeğer kodu nasıl oluştururdunuz? Biraz daha bilgi verebilir misiniz?

0 Likes

#43

Benimde yaşım 15 fakat bu tarz sorunlarla karşılaşmıyorum psikolojik sorunlarınız varsa psikoloğa görünmek en doğrusudur .

0 Likes

#44

Nasıl oluştururdum? Öncelikle aradaki fark ciddi bir süre 5 sn. Buna neden olan unsurları bulmak gerekir. Bulmadan örneklemem gerekirse. Varsayalım random sayı üretmekle ilgili hazır kütüphane yerine farklı bir üreteç kullanmak, yada matris yüklemekle ilgili ise bunun için farklı bir metot oluşturmak gibi 10000 loop ta 5 saniye farka neden olan hususun önce tespiti gerekir. Buna Linux ile Windows un program koştururken ki bellek yönetim yaklaşımı da dahil incelemek gerekir.

Tabi bu teorik. Pratikte de incelemeye göre örnek kodlara bakmak gerekir burada windows için yazılan yorumlayıcının da derinlemesine incelenmesi gerekebilir ki. Bu da işi yeni bir yorumlayıcı yazmaya kadar götürebilir.

2 Likes

#45

Mesela tersi enteresan bir durum için bir konu buldum.

Bu durumda kullanılacak kodları işletim sisteminin çalışma şekline uyumlu hale getirmeden karşılaştırırsak, her zaman diğerine haksızlık edeceğimiz anlamına gelir.

Optimizasyon ve benchmark konusunda adil örnekler tasarlamak oldukça zordur.

Burada asla bu bundan hızlıdır bu bundan iyidir konularına girmem, çünkü her şey koşullara göre farklılık gösterebiliyor.

1 Like

#46

Peki anladım teşekkür ederim. O zaman yukarıdaki testin sonuçları sadece o kodlar için geçerlidir dememiz gerekiyor. Başka bir program farklı sonuçlar verebilir.

1 Like

#47

Yeterince ifade edememişim. Tekrar söylemeye çalışayım. Altındaki işletim sistemine aynı istekleri gönderip, sonra aynı cevapları alabilecekleri kodları karşılaştırdığımızda ancak dilin hızındaki farktan bahsedebiliriz.

Yani testin sonuçları kendi içinde geçerlidir diyemem. Kodların sistem çağrılarının hangi işletim sistemi çağrıları yaptığından emin olmadan test yapamam. Burada yorumlayıcının tasarımı da bir başka konu. Linux için mi optimize edilmiş, windows için mi ayrıca incelemek gerekir. Ki eğer Windows optimize bir yorumlayıcı elimizde ise bu bizi bir başka yanılgıya götürür ki bu da Linux’a haksızlık olur…

Yani kod testleri için konuşurken çok fazla faktörü eşitleyip sonrasında karşılaştırmak gerekir ki bana göre bu bir bilim dalı olacak kadar önemli bir konu.

Ve tabi görece tercihler de bu konuda etkili. Her yerde hız aranmaz. Sanırım hız için yorumlanan dil tasarladım demek kimse istemez. Öğrenmek için bakan biri ise, elinde hangi işletim sistemi var ve ulaşılabilir ise üzerinde çalışabilir. Bu da öğrenme hızı yönünden.

En korktuğum konular bu mu iyi bu mu tarzında konular. Çünkü aslında cevabı olmayan tercih konuları. Benchmark testlerinde adil davranmak oldukça güçtür.

3 Likes

#48

Cevabınız için çok teşekkür ederim, gerçekten aydınlatıcı oldu.

2 Likes

#49

@semtex

Size ne kadar teşekkür etsem azdır.

Yanlış düşünüyorsam lütfen aşağıda yazdıklarımı düzeltin.

Hangi işletim sistemini ve sürümünü kullanıyorsak kullanalım, her sistem ön-tanımlı ayarları ile birlikte kurulur. Bu ön-tanımlı ayarlar, bir bilgisayarın donanımlarının kaynaklarının farklı oranlarda kullanılmasını sağlar. Windows’ta veya başka bir işletim sisteminde bu ayarları değiştirerek, işletim sisteminin belirli bir alandaki performansı arttırılabilir.

Adil bir test yapmak istiyorsak, karşılaştırılan her iki işletim sisteminin özelliklerini iyi bilmemiz ve iki işletim sisteminin ön-tanımlı ayarlarını karşılaştırılabilir koşullara getirmemiz gerekiyor. Aksi taktirde işletim sistemlerinin ön-tanımlı olarak gelen ayarları kullanılarak bir test yapılmış olur.

0 Likes

#50

Bu arada zaten niye karsilastiriyoruz ki? Her iki isletim sisteminde de calistirilabilecek, Python implementasyonunun veya isletim sistemi performansinin limitlerine takilan bir kod mu var? Oyleyse biraz daha acin problemi; alternatif cozumler daha iyi olabilir.

0 Likes

#51

Daha önce belirttiğim gibi karşılaştırma testlerinin eşit koşullarda gerçekleştirilmesi zordur. Ve söylediğiniz gibi bazı ön tanımlı ayarları ile de oynayarak bu işi tersine de çevirebilirsiniz. Grafik işlemciyi de tahsis eden kodlarla durumu lehimize çevirmek bir yana hızı ikiye dahi katlayabilirsiniz.

Gerçekten bu konuda koşulları eşitlemek oldukça zordur. Mutlaka bir şeyler gözden kaçar ve yanıltıcı olabilir. Mesele hız olamamalı bence. Çünkü yorumlanan dillerin amacı kodun hızından ziyade, projenin hızlı geliştirilmesini sağlamaktır. Çok da bu yönüne takılmamak gerekir.

1 Like