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

Kiril’den Latin’e Anında Özenli Çeviri

FZ

Takip ettiğim e-posta listelerinden biri olan Yazılım İhracatı listesinde bugün gördüğüm bir e-postayı FM camiası ile paylaşmak istedim...

Hazırlanan bir bilgisayar programı sayesinde artık 20 Türk lehçesindeki Kiril alfabesinde yazılan metinler anında Latin alfabesine çevrilebilecek.

Kırıkkale / AA

2 Ocak 2005 — Kültür ve Turizm Bakanlığı’nın sitesinde hizmete sunulan programı Kırıkkale Üniversitesi’nden Doç. Dr. Mehmet Kara, 3 yıllık bir çaba sonucu hazırladı.

Türk Cumhuriyetleri için önemli bir sorun olan Kiril alfabesinden Latin alfabesine çeviri yapan bir bilgisayar programına ömrünü Türk dünyasının dil birliğine adayan ‘Gaspıralı İsmail’in adı verildi.

20 Türk lehçesinde Kiril alfabesi ile yazılı metinleri otomatik olarak Latin alfabesine çeviren programın yazılımı da Damla BilgisayarA.Ş. tarafından gerçekleştirildi.

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri

FZ

Geçen sene Eylül ayında, Volkan Yazıcı programlama dünyasının sıcak konularından biri olan tasarım şablonlarına yani 'design patterns' konusuna değinmişti:

Merhaba, comp.lang.lisp listesinde "This may be a nonsensical question, but I was wondering if it is idiomatic to apply common design patterns to lisp applications." kaşıntısı ile başlayan bir tartışmalar dizisi oldukça ilgimi çekti -- şüphesiz ki bunda bu dönem almaya başladığım Aspect-Oriented Software Development dersinin de etkisi olmuştur -- ve sizin ile oradan çok ufak bir mesajı paylaşmak istedim.


Tasarım Şablonları, nam-ı diğer Design Patterns mevzusu epey bir süredir sıcak konular arasında. Bu gibi durumlarda sık sık karşılaştığımız gibi konu basit bir teknik konu olmaktan çıkıp pek çok yanlış anlamayı, çok çeşitli felsefi bakış açılarını, alakasız yerlere dallanıp budaklanmayı, düpedüz mantıksal hataları, politik ve ekonomik savaşları bünyesinde barındırmaya başlıyor. Acaba neden?

Dikkat Edilmesi Gereken 10 Semantik Uygulama

FZ

Web 3.0 ve semantik web laflarını artık FM'de de daha sık duyar hale geldik.

Read / Write Web'deki güncel bir yazı yakından takip edilmesi gereken 10 semantik web uygulamasından bahsediyor. Bunların arasında Hakia, PowerSet ve FreeBase gibi isimler de göze çarpıyor.

Belki de artık ontoloji gibi kavramları öğrenmenin, SPARQL, OWL gibi dilleri kurcalamanın ve AllegroGraph ve TopBraid Composer gibi araçlarla haşır neşir olmanın zamanı gelmiştir, ne dersiniz?

PostgreSQL 7.4 sürümü duyuruldu

madness

PostgreSQL Global Development Group (PGDG), PostgreSQL Nesne İlişkisel Veritabanı Yönetim Sistemi'nin (ORDBMS) 7.4 sürümünü duyurdu.
Detaylı bilgi için: Basın Bülteni

Açık Kaynak ve Para Kazanmak

arsenelupin

Kısaca öykümü anlatmak ve benim durumumdaki birçok kişinin de fikrini alarak sonuçlar çıkartmak isterim:

Kendi özgürlüğüm adına, bağımsız programcı ("freelancer" da diyorlar) olarak çalışıyorum ve müşterilerimin çok büyük bir çoğunluğu yurt dışından. Yine de, ekmeğimi kazanabilmek için, genellikle kod tamiratı ağırlıklı ve sıkıcı işler yapıyorum. Bir süredir yalnızca GNU/Linux kullanıyorum.