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

Veritabanı Teknolojilerindeki Yenilikler

FZ

Veritabanı ve bununla bağlantılı çözümler deyince son 20-25 yıldır çoğunluğun aklına gelen terimler aynıdır : SQL, ilişkisel veritabanı yönetim sistemi (markadan bağımsız), ODBC ve bunlara C++, Visual Basic, JAVA gibi dillerle erişmek ve sonuç çözümü programlamak.

Markalar değişir, işletim sistemleri değişir, işin içine Internet girer, sistemler biraz daha hızlanır, fiyatlar değişir ama temelde öyle radikal değişiklikler olmaz... diye düşünüyordum ben bugüne kadar ancak bu düşüncemi değiştiren birkaç şirketin web sayfalarına göz atıp bir miktar inceleme yaptıktan sonra öğrendiklerimi sizinle paylaşmaya karar verdim.

Neden frameworklerden nefret ediyorum!

anonim

Bir baharat rafı yapmak için tahta, biraz çivi, çekiç, testere vb. birkaç alet mi edinmeliyim, yoksa "yüksek kaliteli", "endüstriyel üretim" bir baharat rafı için bir "general-purpose tool-building factory factory factory"ye mi ihtiyacım var?

Frameworkler, libraryler, middleware platformlar üzerine eğlencelibir yazı : Why I Hate Frameworks

FJAX - Flash ve Ajax

larweda

AJAX, son dönemde çok sıklıkla adını duyduğumuz, ve çoktandır başarılı örneklerini görmeye başladığımız (Gmail, Flickr, Hotmail, Pageflakes vs.) bir web teknolojisi. Bu konuda bir çok kütüphane ve geliştirme aracı da hali hazırda mevcut. Bu araçlara yeni eklenmiş, ama farklı bir bakış açısı getiren bir teknoloji var: FJAX. Araçların hemen hemen hepsi bi javascript kütüphanesi sunarken, FJAX tarayıcı tarafında yapılacak XML yorumlama işini boyut olarak küçük bir flash objesine yaptırıyor. Bu, hem tarayıcının işini kolaylaştırıyor, hem de diğer araçlar gibi geliştirme sürecini azaltmayı hedefliyor. Üstelik bu konuda çalışan insanların çoğunun başının belası olan tarayıcı uyumluluğu problemlerini de azalttığını iddia ediyor.
İncelemek ve indirmek için: www.fjax.net
Fjax'ın geliştiricileri Jay ve Steve McDonald ile webmonkey'in yaptığı detaylı bir röportaj da burada.

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.

Seaside Framework ile Internet Programlama

FZ

Bill Clementson, en son gerçekleştirilen Vancouver Lisp Kullanıcıları Toplantısında gerçekleştirilen bir sunumu video olarak kaydedip insanlık ile paylaşmaya karar vermiş.

Söz konusu video, Avi Bryant tarafından Smalltalk [1, 2] dili ile geliştirilmiş Seaside isimli bir Internet programlama "framework"ü ile ilgili ve Common Lisp ile geliştirilmiş sağlam bir Internet programlama "framework"ü olan UnCommon Web'e benzer şekilde "devam ediş" (continuation) tekniğinden faydalanıyor.