Jump to page: 1 2
Thread overview
Kod performansını ölçmek
Jul 01, 2010
Kadir Can
Erişicilerle aralıkların karşılaştırılması
Jul 01, 2010
Kadir Can
July 01, 2010

Biliyorum,aslında gereksiz bir soru soruyorum.Fakat D dilini öğrenmeye başladığımdan beri performansa çok fazla önem verir oldum.Sizlere bir sorum olacak.

import std.stdio;

void main()
{
writeln("Bir şeyler");
}

şeklinde writeln'ın kullanılması mı daha performanslıdır?

import std.cstream;

void main()
{
writefln("Bir şeyler");
}

Şeklindeki mi daha performanslıdır?

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

July 01, 2010

Alıntı:

>

import std.cstream;

void main()
{
writefln("Bir şeyler");
}

İlk önce bu çalışmaz. Nedeni dout'ı unutmuşsunuz :-)

dout.writefln(); olur.

Alıntı:

>

Fakat D dilini öğrenmeye başladığımdan beri performansa çok fazla önem verir oldum.

Bende de performans hastalığı var sayılır. D dilinde performansı o kadar önemsemeyin. D C kadar hızlı(belkide daha hızlıdır. C'yi hiç bilmiyorum.) bir dil. Bu yüzden çok fazla yavaşlama olmayacaktır. Ayrıca python gibi yorumlanabilir dillerden farklı olarak derlenebildiği için eniyileştirme olanağı var olacaktır. Bu yüzden hız konusuna çok takılmaya gerek yok.

Sorunuza cevaben bir yanıtım yok. Belki aynı hızdadırlar. Belkide bir iki nanosaniye fark vardır ?

Ancak cstream modülü phobostan kaldırılabilir. Bu yüzden std.stdio kullanmak faydalıdır.

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

July 01, 2010

Konu ile alakasız ancak cstream ile stream modülüde kaldırılırsa bomlu olarak nasıl yazacağız ?

Ben pek bu modüllerin kalkacağını sanmasamda kaldırmak istemelerinin nedeni sanırım phobosun şuanki kodcuları bunu yazmadığı için kaldırmak istiyorlar.

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

July 01, 2010

Daha güzel sorular sormamak için kendimi zor tutuyorum : (Tutamadım :-) )

Örneğin range olsun erişici olsun tam olarak ne demektir.

Benim bildiğim erişici hiç bilmediğim C(yada c++) kodunda gördüğüm c.begin gibi dizilerde kullanılarak ilk eleman olsun son eleman olsun öğrenmeye yarayan bir araç ?

Benim bildiğim range ise : dizi[0..11] şeklinde ulaşım ?

Rangenin sağladığı ne şimdi ? Diyeceksiniz ki Andrei'nin makalesini oku. Ancak biraz üst düzey olduğu için biraz daha temelini öğrenmek istedim.

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

July 01, 2010

Teşekkürler. İsterseniz yeni bir başlığa aktaralım bu yazıyı.

Ancak benim anlamadığım bazı şeyler var.

Alıntı:

>

Aralıklar (range) yalnızca 0..10 gibi sayı aralıkları değil, bir topluluğun belirli bir eleman aralığı anlamına geliyor.

Bu ne demek ? dizi[3..5] bir topluluğun belirli bir eleman aralığı değil mi ? [aralık için buraya sayıdan başka ne gelebilir ?]

Alıntı:

>

karıştır(istediğim_dizi_aralığı);
karıştır(istediğim_liste_aralığı);

Burdaki "istediğim_dizi_aralığı" nasıl bir değer taşıyor ?

Alıntı:

>

İşlevlerin tek dönüş değeri olabildiği için iki erişici döndüremezler.)

Bu ne demek ? Erişici neden döndürülsün ki ? Belirli bir eleman aralığı döndürülmüyor mu ?

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

July 01, 2010

Çoğu şeyi anladım teşekkürler.

Kısaca aralık erişiciyi daha iyi kullanabilmek adına programlama dillerine yeni bir yorum diyebiliriz sanırım. (Devamı andreinin makalesinde sanırım :-) )

Acaba D'de normal erişicileri nasıl kullanabiliriz ?
Şöyle bir şeyi nasıl diyebiliriz ? :

   int[] dizi=[1,2,2];
   writeln(dizi[].begin());

Çünkü erişicileri kodsal görünüşlerini çok seviyorum :-)

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

July 01, 2010

Teşekkürler. Herhalde bunu aralık ile nasıl yazarız dememeliyim.

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

July 01, 2010

Teşekkürler.

Gerçekten çok farklı ve güzel gözüküyor.(Her ne kadar string biçimde yani tırnak arasında kod yazımından hoşlanmasamda. find gibi :-) )

Ayrıca sanırım kodunuzda std.range'yi eklemeyi unutmuşsunuz. Eklemeyince .empy ve .front hakkında hata veriyor.

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

July 01, 2010

En iyisi denemek: :)

import std.stdio;
import std.date;

void formatlı()
{
   writefln("Bir şeyler");
}

void formatsız()
{
   writeln("Bir şeyler");
}

void main()
{
   auto sonuç = benchmark!(formatlı, formatsız)(10_000);
   writeln(sonuç);
}

Ali

Not: Hoşgörüne sığınarak konu başlığını değiştirdim. Başlık, konu içeriği ile ilgili olunca daha yararlı oluyor.

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

July 01, 2010

Yanıtlarını bilmediğim güzel sorular... :)

Kalkacaksa yerine daha iyisi veya daha uyumlusu gelecektir. Sanırım Phobos'a hızla eklenmekte olan aralık kavramı üzerine kurulu olur.

Ali

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

« First   ‹ Prev
1 2