March 01, 2013

Alıntı:

>

1 ay önceki konuyu hortlatmış gibi olsam da hız konusunda ve Talha'nın Rhodeus Script (RhS)'i ile alakalı küçük bir endişemi paylaşmak istiyorum...

Benim de çok endişem var :) Ama bunu zamana bırakmak daha mantıklı bence. Bu işe ilk başladığımda şimdiki gibi bir yapı yapmaya çalışsaydım yolun başında çuvallamış olur ve RhS bir hayal olarak kalırdı. Sadece son 1 ay içerisindeki ilerlemeye bakıyorum gerçekten çok yol kat etmişiz. Bu tarz şeyleri zamanla farkına varıp değiştiririz. Sonuçta şunu da gözden kaçırmamak gerek bu adamlar bunu ilk yaptıklarında mükemmel bir şey dizayn etmediler :) Zamanla onlarda hatalarını fark ettiler ve uzun bir zaman diliminde düzelttiler :) Ama tabi ki de bu tarz ayrıntıları gözden kaçırmamak gerek. Opcode olayını 0.4 yaparken farkına vardım ama opcode olayını yapabileceğimden emin değildim. 1.0 da önceki mantığı geliştirerek daha düzenli, anlaşılır ve hızlı bir kod yapısı oluşturdum ve aslında bir nevi 2.0 da yapacağım yapının temelini oluşturdum. Ve zamanla sizlerin de yardımınızla opcode olayını halletmiş olduk. Ve 2.0 ın dizaynına başladık. 2.0 da hatalarımızın farkına varırız ve 3.0 :)

Alıntı:

>

Peki call ve ret komutları ile dolu bir yorumlayıcı (öyle ya her işleç çarkı arasında gidip gelecek) ne kadar hızlı olabilir? Yani derlemeli bir dilde tüm komutlar akıllı bir şekilde ardı ardına yerleştirilirken biz RhS'de, belki de belleğin farklı bölümlerinde olan komutlara veriyi taşıp işlemelerini isteyeceğiz ve geri dönüp sırada hangi komutun olduğunu öğrendikten sonra bir sonrakine geçeceğiz...

Runtime esnada asm kodu çalıştıramıyoruz. Mecburen asm kodunun bulunduğu adrese zıplayıp çalıştırabiliriz. Diğer VM'leri inceledim. Hepsi bu mantıkta çalışıyor. Salih hocam eğer dediğiniz şekilde çalışabilseydi eğer VM ler ile normal pc arasında hız farkı bulunmazdı bence.

Alıntı:

>

Derleyiciler inanılmaz eniyileştirmeler sunuyorlar ama dmd bu konuda gdc'den çok geride. LLVM'in çok hızlı olduğunu duyuyorum. Belki ldc de dmd'den çok daha hızlıdır.

Belki de öyledir. C ve C++ için kesinlike öyledir diye düşünüyorum (Python kullanıyor). D için ise yorum yapamam. Sonuçta dili üreten dmd değil mi? Bundan daha iyi olacağını pek zannetmiyorum.

Bir ara C ve C++ a da geçiş yapar diğer VM leri inceleriz. Onların yapılarından da esinleniriz. Ama şu çok açık bu proje ile uğraşırken çok şey öğrendim mesela derleyici kavramıyla tanıştım. Ben sadece asp biliyordum (ona da bilmek denmez ya neyse). Interpreter dan girdim bitlerde buldum kendimi. Her ne kadar algılamada sorun yaşasam da bir şeyi algıladım mı sorun kalmıyor parçaları iyi birleştirebiliyorum( en azından şimdilik )

Not: Çok gereksiz konuştum. Kusura bakmayın :)

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 01, 2013

Alıntı (zekeriyadurmus):

>

Interpreter dan girdim bitlerde buldum kendimi. Her ne kadar algılamada sorun yaşasam da bir şeyi algıladım mı sorun kalmıyor parçaları iyi birleştirebiliyorum( en azından şimdilik )

Not: Çok gereksiz konuştum. Kusura bakmayın :)
Estağfirullah, ne güzel demişsin bit gibi küçük bir kavramlara (ne güzel tesadüf ki dilimizde de bit çok minik bir yaratıktır!) ulaşmışsın. Bunlar öyle temel mevzular ki assembly üzerine çalışıyorsan bilmezsen olmaz derecede...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 01, 2013

Katılıyorum. Ben RhS'in bunlara gerçekten ihtiyacı olduğuna inanmak zorundayım.

Sonuçta bu assembly örnekleriyle gerçekleştirilen kavramlar dilde de aynen var. Eğer dilin üst düzey olanakları yavaş kalıyorsa bunlar kullanılan derleyici ile de ilgili olabiliyor. Eğer assembly'de elle daha hızlı yapabiliyorsak aynı hızı derleyicinin kodları da sağlayabilir. Üstelik, dillerin üst düzey olanakları elle yapılan eniyileştirmelerden daha hızlı olabilir. Bunu C++'tan biliyoruz.

Derleyiciler inanılmaz eniyileştirmeler sunuyorlar ama dmd bu konuda gdc'den çok geride. LLVM'in çok hızlı olduğunu duyuyorum. Belki ldc de dmd'den çok daha hızlıdır.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 01, 2013

Alıntı (zekeriyadurmus):

>

Sonuçta dili üreten dmd değil mi? Bundan daha iyi olacağını pek zannetmiyorum.

Dil üst düzey kavramları tanımlıyor. Bunlar derleyicilerin ön tarafı (front end) ile hallediliyor. Ön tarafın oluşturduğunu makine koduna dökmek ve eniyileştirmeler yapmak arka tarafın (back end) işi. gdc dmd'nin ön tarafını kullanıyor ama kendi arka tarafı dmd'den çok daha iyi. Bunun nedeni de arka tarafın dilden bağımsız olması ve gcc'nin C ve C++ gibi diller için zaten senelerdir çok gelişmiş olması.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2 3
Next ›   Last »