Bu uygulamamızda, RAM’den (bellek) çalışma ve yazma durumlarındaki performans farkını göreceğiz. İlk durumda bir for döngüsü içerisinde 0’dan 1000000’a (bir milyon) kadar olan tüm sayıları formun başlığına yazdırarak bu işlemin ne kadar sürdüğünü hesaplatacağız. İkinci durumda ise yine aynı işlemi, bu sefer yazdırmadan, direk bellek üzerinden yaptıracağız ve iki durum arasındaki performansı (hızı) karşılaştıracağız.
            Örneğimiz için bir Windows uygulaması başlatalım. Projemize bir buton ekleyip, butonun click event’ine aşağıdaki kodu yazalım.
        private void button1_Click(object sender, EventArgs e)
        {
            DateTime baslangic, bitis;
            int i;
            TimeSpan fark;
            baslangic = DateTime.Now;
            for (i=0; i < 1000000; i++)
            {
                this.Text = i.ToString();
            }
            bitis = DateTime.Now;
            fark = bitis – baslangic;
            MessageBox.Show(fark.ToString());
        }
            Bu kodu çalıştırdığınızda aşağıdakine benzer bir sonuç elde edeceksiniz.
ram-ve-yazma-arasindaki-performans-farki-1

ram-ve-yazma-arasindaki-performans-farki-1

            Şimdi de yukarıdaki kod üzerinde basit bir değişiklik yapalım ve sonucu görelim. Kodunuzu aşağıdaki gibi değiştiriniz.
        private void button1_Click(object sender, EventArgs e)
        {
            DateTime baslangic, bitis;
            int i;
            TimeSpan fark;
            baslangic = DateTime.Now;
            for (i=0; i < 1000000; i++)
            {
            }
            this.Text = i.ToString();
            bitis = DateTime.Now;
            fark = bitis – baslangic;
            MessageBox.Show(fark.ToString());
        }
            Dikkat ederseniz, bu sefer for döngüsü içinde yazdırma işlemi yapmıyor ve döngünün dışında sadece bir kez i’nin son değerini formun başlığında yazdırıyoruz. Projenizi çalıştırdığınızda sonuç aşağıdaki gibi olacaktır.
ram-ve-yazma-arasindaki-performans-farki-2

ram-ve-yazma-arasindaki-performans-farki-2

            Bu sonuçlara dikkat edilirse RAM’den çalışmanın çok daha hızlı olduğu görülecektir. Bu örnekle göstermeye çalıştığım nokta da aslında RAM’in hızıydı. Dolayısıyla projelerinizde gereksiz yere yazdırma işlemlerinden kaçınmalısınız.
            Aynı işlem RAM’den yapıldığında 0.0156000 salise sürmekte, yazdırıldığında ise 1 dakika 34 saniye 3332000 salise sürmektedir (Tabii ki bu sonuçlar sizin işlemci ve RAM’inizin hızına ve o andaki çalışma yoğunluğuna bağlı olarak değişecektir.)
            Başka bir makalede görüşmek dileğiyle….