Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Performans Testi

Başlatan subram, 09 Şubat 2014, 18:45:43

subram

Arkadaşlar merhaba.

Siteden takip arkadaşlar biliyordur yakın zamanda windows'u terk edip linux'a geçtim. MPLAB X ve XC serilerini yükledim (linux desteği var) ilk olark MPLAB X'in çok hızlı açıldığını fark ettim. @ashes35 ile aynı programı  farklı bilgisayarlarda derledik sonuç beni çok mutlu etti.

Şimdi sizden ricamız alttaki dosyayı indirip derlemeniz (Clean and Build) ve makinenizin özellikerli ile derleme süresini yazmanız. Derleme işini ilk kez yaptığınızda süre biraz fazla çıkıyor. 4-5 kere derleyip sonucu yazın. Şartların eşit olması açısından mümkünse sadece MPLAB X açık olsun. İnternet tarayıcınızı da kapatın. Bende durum şöyle:

Makine Özellikleri;
XUbuntu 64Bit
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
4 GB DDR3 Sistem Belleği 1 333 MHz (4 GB x 1)


Derleme Süresi; 4Sn

Test edilecek dosya

Not: Program free ve standart versiyonda çalışmıyor. Sadece PRO versiyonda çalışıyor. Hata alırsanız Optimizasyon ayarlarını değiştirin.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

AsHeS

#1
Alıntı yapılan: subram - 09 Şubat 2014, 18:45:43
Arkadaşlar merhaba.

Siteden takip arkadaşlar biliyordur yakın zamanda windows'u terk edip linux'a geçtim. MPLAB X ve XC serilerini yükledim (linux desteği var) ilk olark MPLAB X'in çok hızlı açıldığını fark ettim. @ashes35 ile aynı programı  farklı bilgisayarlarda derledik sonuç beni çok mutlu etti.

Şimdi sizden ricamız alttaki dosyayı indirip derlemeniz (Clean and Build) ve makinenizin özellikerli ile derleme süresini yazmanız. Derleme işini ilk kez yaptığınızda süre biraz fazla çıkıyor. 4-5 kere derleyip sonucu yazın. Şartların eşit olması açısından mümkünse sadece MPLAB X açık olsun. İnternet tarayıcınızı da kapatın. Bende durum şöyle:

Makine Özellikleri;
XUbuntu 64Bit
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
4 GB DDR3 Sistem Belleği 1 333 MHz (4 GB x 1)


Derleme Süresi; 4Sn

Test edilecek dosya

Not: Program free ve standart versiyonda çalışmıyor. Sadece PRO versiyonda çalışıyor. Hata alırsanız Optimizasyon ayarlarını değiştirin.

Makine Özellikleri;
Win7-Pro 64Bit
Intel(R) Core(TM) i7-4820K CPU @ 3.70GHz (8 CPUs), ~3.7GHz
16 GB DDR3 Sistem Belleği 1800 MHz (8 GB x 2)

Edit: OCZ SSD 480GB

Derleme Süresi; 4Sn


Mr.Java

Linux sistemleri SSD sistemler ile tam performans farkını görüyorsunuz.SSD disk alırsanız derlemede,sistem açılma süreside,v.s. hepsi çok fazla fark ediyor.

Linux sistemleri C/C++ ile yazılıyor,windows c# ile performans farkı en basit buradan anlaşılabiliyor aslında.

muhittin_kaplan

Alıntı Yapwindows c#
bu bilgi nereden

SpeedyX

Alıntı yapılan: Fkarizmatik - 09 Şubat 2014, 19:29:35
Linux sistemleri C/C++ ile yazılıyor,windows c# ile performans farkı en basit buradan anlaşılabiliyor aslında.
Yanlış

Tagli

Ubuntu 12.04 64bit
İşlemci: Intel i7 3770K (3.5 GHz)
RAM: Galiba 2 x 4 GB, toplamda 8 olduğundan eminim. Hızını bilmiyorum.
HD'yi de hatırlamıyorum ama SSD değil. Gerçi bir ihtimal yüksek hızlı WD Caviar Black olabilir.

3 sn sürdü.

(İş yerindeki bilgisayar olduğu için özelliklerini tam bilmiyorum. Kapatıp BIOS'a girmeye üşendim.)
Gökçe Tağlıoğlu

Mr.Java

Yanlış olan yazımın anlaşılması.Kernellerin tamamı tabi ki assembly, C  ile yazılmıştır.Fakat C#'da .NET desteğiyle geldiği için ve nesneye yönelik programlamadan sonra c#'da eklenmiştir.

http://social.microsoft.com/Forums/en-US/65a1fe05-9c1d-48bf-bd40-148e6b3da9f1/what-programming-language-is-windows-written-in?forum=windowshpcacademic

Burada c,c++ ve c#'dan yazıldığından bahsediliyor.Ben zaten kerneli geçip yazmıştım.Windows 7 ve 8 çoğunluğunda c# kullanılıyor diye biliyorum.

Gökhan BEKEN

#7
windows 7 (64 bit)
Intel(R) Core(TM)2 duo CPU T8100 @2.10Ghz
RAM: 2GB
HDD: SSD

MPLABX versiyon 2.0
XC8 versiyon: 1.30
derleme süresi: 13 saniye.

Aynı işleri C18 ile yapsa idik 2 saniyede derlerdi. Sistemle alakası fazla yok, derleyici çok hantal.
Özel mesaj okumuyorum, lütfen göndermeyin.

Erol YILMAZ

Lenovo T400
Core2,  2 GB Ram, Sandisk SSD
Win7(32bit), MPLAB 8.89
MPLAB XC8 C Compiler V1.12

7.5 sn

subram

@meftun hantal olan sadece derleyici değil,Windows da hantal. 2 gündür Linux ile kullanıyorum ve performansı Windows'a göre çok iyi. Şuradaki derleme sürelerine bakarak da programın Linux'ta çok hızlı çalıştığını görebiliriz. Birkaç arkadaş daha deneyip sonucu yazarsa daha verimli bir veri elde edebiliriz.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

Tagli

Yalnız burada denemedik ama bana XC16 epey yavaş geldi. Üzerinde çalıştığım proje daha başlangıç aşamasında olduğu için çok fazla kod içermiyor (dsPIC4011'in %11'ini doldurdu optimizasyonlar kapalı iken) ancak pek çok sayıda (7 adet, ileride muhtemelen artacak) .c dosyası var. Derleme 17 saniye sürüyor. Gerçi yavaşlığın sebebi derleyicinin XC16 olması mı yoksa artan kaynak dosya sayısı mı onu bilmiyorum. Ama bana sanki dosya sayısının artmasının daha ciddi bir yavaşlatıcı etkisi varmış gibi geldi. Derleyici çıktısına bakarken, dosya içindeki kod miktarından bağımsız olarak sanki her .c dosyası için aynı süreyi harcıyor gibi görünüyor. Ki projedeki .c dosyalarından birinde sadece config bitlerini tanımlayan pragma'lar var, o bile aynı sürede oluyor.

Bu arada, derlemenin yavaş olması beni pek de rahatsız etmiyor. İki derleyiciyi karşılaştırırken son bakacağım şey derleme süresi olur. Yoksa benim için 5 saniyede derlemesi ile 15 saniyede derlemesi arasında bir fark yok.
Gökçe Tağlıoğlu

subram

@tagli derleyiciden ziyade OS karşılaştırması yapıyoruz biraz. Lİnux'ta 17 Süren bir derleme windows'ta daha kısa sürede biter mi? Şu anki durum çok öyle görünmüyor. İlk kodu derleyecek 1-2 gönüllü daha olursa daha iyi veriler elde edebiliriz.

Dosya sayısı konusunu ilginç bir olay. Değerlendirmek lazım.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

engerex

Ubuntuyu geldiği gibi kullanırsan Xubuntudan daha geç derleyeceğini düşünüyorum. Birde Lubuntu dene.

984sami

#13
Derleyici programcının en iyi dostudur, bende kod yazarken sürekli derleme yaparım. Bir makinede tek bir CPU veya bir kaç core üzerinde yine sadece bir veya bir kaç thread ile işlemlerin yerine getirilmesi nedeniyle bir kuyruk oluşur. İşletim sisteminin farklı olması bu kaideyi değiştirmez. Aynı makinede değişik zamanlarda derleme yapılsa bile arka plan hizmetlerinin çalışmasına göre çok farklı süreler ortaya çıkacaktır.

Linux Windows karşılaştırması konusunda ise; win sistemlerde grafik arayüzler, e-posta, hava durumu vs. online işlemler, bakım, disk birleştirme vb. arka plan hizmetleri gibi pek çok uygulama varsayılan olarak kurulu bulunuyor. Linux tabanlı sistemlerde ise bunların pek çoğu kurulumda olmuyor yani kendiniz indirip kurmak zorundasınız. Karşılaştıma yapabilmek için bire bir aynı işi yapan uygulamaların arka planda çalışıyor olması gerekir. Win8 sistemde en çabuk görev yöneticisinden ulaşabileceğiniz hizmetler listesine, linux tabanlı bir sitemde MENU>SISTEM ARAÇLARI>SISTEM GÖZLEMCİSİ (Gnome System Monitor) ile açılan pencerede SÜREÇLER  tabı altında (veya terminalde $ ps -el) ulaşabilirsiniz. Kurulumlar sonrası çalışan iş parçacıklarını karşılaştırdığınızda ise arada çok fark olduğunu göreceksiniz.

Derleme sürecinde asıl zaman alan işlemler preprocessor ve linker işlemleridir. Örneğin bizim için değerli olan TRISA, derleyici için hiç bir şey ifade etmediğinden derleme öncesi TRISA nın adresi, bulunduğu yere konumladırılır fakat GLOBAL ve EXTERN ifadeleride preprocessor için bir şey ifade etmez (kontrol etmez) ama linker için bağlama noktalarıdır. Projede çok sayıda library kullanıldıysa bu link süresini uzatır. Çok sayıda donanım ve değişken kullanılmışsa yani sembol kullanımı fazla ise preprocessor süreci uzun olur. Dolayısıyla bu süreleri programcının ayarlayabilmesi gibi bir durum söz konusu değildir.

Derleme süresini kısaltmanın yolu programa yüksek öncelik atamak. Bu sayede işlemciyi kullanmak için girilen kuyrukta araya kaynak yapmak :) mümkün olacaktır. Sonuçta her gün pek çok saatimiz abuk subuk işlerle geçiyor, bana "bak şurada hata yapmışsın, düzelt" diyen canım arkadaşım derleyiciye feda olsun saniyelerim.

Tagli

Merak ettim de, derleme işlemini çok çekirdeğe yaymak mümkün mü acaba? Windows'u bilmiyorum ama Linux'ta MPLAB X anladığım kadarıyla make ile derlemeyi yapıyor. make'e -j seçeneği verilirse işlem birden fazla çekirdeğe yayılabilir. Ama benim gördüğüm kadarıyla dosyalar sırayla derleniyor. Yani tüm make işlemi tek çekirdekte yapılıyor gibi geldi bana.
Gökçe Tağlıoğlu