Programlama Dilleri Benchmark Karşılaştırmaları

0
anonim

Görüşler

0
roktas
Bu konular çok netamelidir. Bildiğim en sağlıklı yorumlara sahip, alanında artık klâsikleşmiş bir paper'ı da (haberdar olmayanlar için) ben vereyim, büyük üstad Brian Kernighan'dan:
Timing Trials, or, the Trials of Timing: Experiments with Scripting and User-Interface Languages

Bu cs.bell-labs klâsiğinde sonuç olarak bakın ne söyleniyor:

Comparisons are a mainstay of computer literature. Conferences, journals, and magazines are full of tables and colorful charts that compare execution time or memory usage of one or more programs on different machines or implementations. In light of the variability in results that we saw, however, we wonder whether similar variation lurks behind published benchmark studies as well. It does seem wise to take all such experiments ­including these ­with a large grain of salt.

Rakamlara inanmayın, ama rakamsız da kalmayın. ;-)

0
librid
Ruby'nin Python'dan hızlı olduğunu iddia eden yoktu fakat Ruby 2.0'ın Python'a nal toplatacağını iddia edenler var :-)
YARV isimli yeni Ruby VM, Ruby cvs'e eklenince o benchmarklara bir daha bakarız. Sonuç sizi üzebilir, yol yakınken Ruby öğrenmeye başlamanızı samimiyetle tavsiye ederim ;-)
0
anonim
Yabancı ruby fanlarının sitelerinde ruby daha hızlı diyenler var. Ama ben zaten farklı programa dillerini öğrenmeyi hoby haline getirmiş bir kişi olarak ruby öğrenmeye karşı değilim. Zaten python programcıları ruby öğrenirken zorlukda çekmez; aralarındaki benzerlikler oldukça fazla özellikle de söz dizimi. Bakalım ruby 2.0'da durum ne olacak. Dediğiniz gibi olursa ben değil Python'un yaratıcısı Guido bey düşünsün.
0
librid
YARV 0.3.2'yi indirip, kullandığım dağıtımla gelen paketlerin ayarları ile aynı olması amacıyla -march=i386, -mtune=i686 ile derledim ve beraberinde gelen (haberde linki verilen shootout.alioth.debian.org'dan alınmış) bazı benchmarkları denedim (YARV kendi deposunda Ruby 1.9 ile birleştirilmiş durumda). Sonuçlar şöyle (Küçük sonuçlar daha iyi):

ackermann:
----------------
Perl: 53.394 saniye
mzscheme: 19.598 saniye
Python: 52.854 saniye
YARV: 12.080 saniye

fibonacci:
-------------
Perl: 42.512 s
mzscheme: 7.602 s
Python: 15.595 s
YARV: 10.174 s

tak:
----
Perl: 93.649 s
mzscheme: 11.965 s
Python: 22.505 s
YARV: 12.297 s
0
librid
Not: Testlerden önce sistem runlevel 1'e düşürülerek arkaplandaki tüm prosesler sonlandırıldı bu yüzden rakamlarda yanılma payı düşük.
0
FZ
Perl 6 çıksın bir hele, sonra yine bençmark yapalım ;-)
0
librid
Keşke Perl 6 yakında çıkacak olsaydı... Bazı ciddi Perl'cüler Perl 6 çıkana kadar Ruby kullanmaya başladılar bile ;-)
0
roktas
tak: ---- Perl: 93.649 s mzscheme: 11.965 s Python: 22.505 s YARV: 12.297 s
Bu kısım ilgimi çekti. Perl:Python arasında 93s:22s ~ 1:4'lük bir hız farkı gösteriyor. Olabilir tabii, çok da anormal bir fark değil (10 kat olsa o zaman gerçek bir sorun var diyebilirdim). Günlük işler Takeuchi (tak) problemiyle dolu değil gerçi ama; AMD Athlon 32, i386 mimarisinde, benim yaptığım basit test bu kadar büyük bir fark vermedi: 'time perl5.8.7 tac.pl':'time python2.4 tac.py' ~ 18s:10s, yani 1:1.8'lik bir fark gözledim. Not olarak geçeyim.
0
librid
Evet ordaki orantısız farklılık benim de dikkatimi çekti ama Python YARV karşılaştırmasına yoğunlaştığım için fazla önemsememiştim :-) Tekrar baktım, burdaki sorun makinanın 256MB hafızasının Perl programı (tak.pl) için yeterli gelmemesiymiş. Makine swap kullanmaya başlayınca haliyle böyle abartılı bir farklılık meydana geliyor. Makinenizin hafızası sanıyorum 256'dan fazla ki doğru ölçüm yapabilmişsiniz. Perl'in ismini de böylece temize çıkarmış olalım :-)
0
roktas
Hmm, emin misiniz buna? Sizin makinedeki özel durumu bilemem, ama oradan yola çıkarak bu test hatasının nedeni hakkında, her 256 MB'lik (ve daha küçük bellekli) makine için böyle bir genelleme yapmak hiç doğru olmaz. 256 MB bu uygulama için _çok_ büyük bir rakam. Perl'ün, bu kadar bellek bir yana, çok daha küçük belleklerde paşa paşa çalıştığını bilirim. Debian GNU/Linux dağıtımında her sisteme kurulan temel bir bileşenden bahsediyoruz. ;-)
0
roktas
Tamam, şimdi gözledim. Test boyunca boş bellek hızla azalıyor (Python ve Ruby'de olmayan bir durum). Bu bana bir hata gibi geliyor ama, perl5-porters'a soracağım.
0
librid
Hay Allah, tam ben yanıt yazarken siz de düzeltme yapmışsınız :-) Bence sormak için boşuna vakit kaybetmeyin sorun büyük ihtimalle Perl'den değil tak.pl'nin yazılış tarzından kaynaklanıyor.
0
librid
Evet eminim. Durumun benim makineme özel olmadığını iddia etmiyorum çünkü benimkinde olduğu gibi iki tane bash shell çalıştırmayan veya dietlibc vb. kullanılan başka bir 256MB'lık makinede belki de swap'e ihtiyaç duymadan program sonlanabilirdi fakat benim makinem bir süre sonra swap kullanmaya başlıyor. Genelleme yapmak bu yüzden doğru olmayabilir haklısınız. Zaten amaç ordaki uyduruk bir tak.pl'nin kaç en az MB'lık bir makinede çalıştığını bulmak değil neden o rakam böyle büyük çıkmış onu anlamaya çalışmak. İnanmıyorsanız hafıza kullanımnı grafik olarak gösteren appletlerden birini açın ve YARV paketinden çıkan tak.pl yi çalıştırın. Siz zaten Paul Graham'ın o yazısında Ruby'den bahsettiğine de inanmamıştınız değil mi? :-) Lütfen gördüğünüz şeyi buraya da yazın ki insanlar bir kaç satır kodla bilgisayarın hafızasını doldurabilmenin kullanılan dil ortamının düşük hafızalı makinelerde çalışabilmesi durumunda mümkün olmadığı gibi saçma bir fikre kapılmasınlar.
0
roktas
Pes valla, korkmaya başladım. Bir harfi yanlış yazsak hesabını soracaksınız gelecekte. :-) Çoktan unuttuğum bir Graham konusunu çıkartmışsınız ortaya. Amacım size özel bir kusur keşfetmek değil, hiç kimse için yapmam bunu. Altı üstü sohbet ediyoruz burada. Ne bu benchmark'ları ne de burada dönüp duran "tartışmaları" _bu denli_ ciddiye almayın. Basit bir öneri sadece, çok kişisel algılamayın.
0
yilmaz
Hız artık o kadar önemli mi?
Şimdi nereye dönüp baksak (MS sayesinde) her yer xeon 2,8 server olmuş. Desktoplar 1,0 ghz altında yok nerdeyse ram desen en ufak 256 var.
Programlama dilinin yada vm nin hızlı olup olmaması o kadar önemli mi?
0
ttk
Merhaba

Ms sayesinde artık demode olan ama hızı "hız da hız" diye tepinmeyen kullanıcılar için yeterli olan işlemci ve anakartları ucuza almak mümkün oluyor. 128 Mb Ram + PII 350mhz 15 GB diskli bir makinada çok rahat mesela window 2000 prof. veya yeterli sayılabilecek hızda Knoppix (Debian'ın yavrusu - diske yükleyerek denemiştim, 2.4 veya 2.6 çekirdekli bir sürümü idi) çalışabiliyor. Sistemin kaportasına da "MS sağolsun" çıkartması yapıştırsak tamam olacak :)
0
anonim
Aslında hız meselesi uygulamaya göre değişir. Sistem yazılımları programlarken hafıza yönetimi ve cpu kullanımı çok önemlidir. Örnek olarak Linux'da KDE ve GNOME arasındaki hız farkı iyi sistemlerde bilr fark ediliyor. Ancak bir muhasaba yada otomasyon uygulaması için hız farkı yeni sistemlerde fark edilmeyecektir. Bu yüzden bu tarz uygulamalar için hafıza yönetimi tür tanımlamaları gibi işlerle programcıyı yormayacak bir dil kullanmak daha akıllıca olacaktır.
0
roktas
Hız artık o kadar önemli mi? Şimdi nereye dönüp baksak (MS sayesinde) her yer xeon 2,8 server olmuş. Desktoplar 1,0 ghz altında yok nerdeyse ram desen en ufak 256 var.

... ve o canavarlar makinelerde OpenOffice'i başlatırken çay almaya gidiyorum hâlâ ;-)

0
tongucyumruk
"Hızlı ve gelişmiş bilgisayarlar tembel programcılar üretir."
Robert Hummel

ileriseviye.org sağolsun...
0
Zebani
Yav çok güldüm valla. ;-) Ne de olsa zaman da, hız da göreceli. Bakınız Albert Einstein. :)
0
Anduril
Hadi oradan da optik bilgisayarlara girelim :)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Egzotik Programlama Araçları Yaygınlaşıyor

FZ

TDK sözlüğüne göre "egzotik" kelimesinin anlamı: "Uzak, yabancı ülkelerle ilgili, bu ülkelerden getirilmiş, yabancıl." Bir çoğumuz için yapay sinir ağları, genetik programlama, Common Lisp, PROLOG gibi güçlü teknolojiler "günlük" programlama deneyimlerinin ötesindeki karanlık ve gizemli alanlar, uzak diyarlar. eWeek'e göre ise bu durum hızla değişiyor.

Ch: C/C++ Yorumlayıcısı

Tarık

Ne kadar başarılı olduğu tartışılır fakat C/C++ programlama dillerini kullanarak yorumlanabilir programlar yaratma fikri oldukça ilginç olsa gerek. Zira birçok yorumlanabilir dilin C dilinden esinlenerek geliştirildiğini ama C dilinin yapı itibariyle yerli çalıştırılabilir dosya (native executable) üretmeye daha yatkın olduğunu düşünürsek.

Bedava Borland Delphi

larweda

Borland Delphi 6.0 personal edition'u bedava dağıtmaya başladı. Gidiyorsunuz Borland`ın sitesine, bir kullanıcı alıyorsunuz, ufak bir anket dolduruyorsunuz, Delphi`yi indiriyosunuz. (maalesef yaklaşık 150 MB, CD versiyonu da 100$`a satılıyor) Borland da seri numarasını ve aktivasyon numarasını e-mail ile gönderiyor. Delphi Personal Edition`da Enterprise ya da Professional edition`daki SQL ve XML desteği olmamasına rağmen yine de denemeye değer.

Ayrıca programı indirdikten sonra InformIT`nin bedava kütüphanesindeki Sam`s Teach Yourself Borland Delphi 4 in 21 Days`e de bir göz atmak yararlı olabilir.

Internet Explorer`ın Sağ Üst Köşesindeki Pencereden Kurtulun!

FZ

Eğer benim gibi bir Internet Explorer kullanıcısı iseniz ve sağ üst köşedeki dalgalı pencere sembolünden gına geldiyse, tepede Microsoft Internet Explorer yazısı görmek gözlerinizi yoruyorsa yapmanız gereken Edensoft'u ziyaret etmek ve MyLogo yazılımını çekmek. Gerisi sizin keyfinize kalmış.

Truva Linux 1.0 RC2 Hazır

atlantis

Türkçe İşletim Sistemi Projesi olan Truva Linux'un 3. deneme sürümü olan Truva Linux 1.0 RC2 download sunuldu.

Uzun süredir yapılan altyapı çalışmaları sonunda meyvesini vermeye başlamıştır. Artık kendi paketlerimizi kolayca hazırlamamıza yardım edecek olan sistem oturmak üzeredir. Tek bir betik yardımı ile programa ait kaynak kodlar indiriliyor, derleniyor ve paket hazırlanıyor. Bu sisteme göre düzenlenen paketler yazılım depolarımız aracılığı ile sizlere ulaştırılacaktır. Bu yıl içerisinde tamamlamayı hedeflediğimiz sistem ile normal bir kullanıcı da istediği zaman kendi paketlerini hazırlayabilecektir.