Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


TimeSpan Fonksiyonu ile işlem zamanını bulmak

Yazar: ismail aktaş

Kategori: VB.NET

Eklenme Tarihi: 08.06.2007 06:58:56

TimeSpan Fonksiyonu ile işlem zamanını bulmak
Merhabalar.
Kimi zaman uygulamalarımızda kullanıcıya yönelik bir takım bilgiler sunmak isteriz veya geliştirdiğimiz uygulamanın ne kadar hızlı ve iyi çalıştığını ekrana dökmek de istediğimiz olur.
Bu gibi durumlardan biride kullanıcıya istekte bulunduğu işlemin ne kadar zamanda tamamlandığını göstermek olabilir. Bu işlem için .NET ortamında bulunan hazır fonksiyonlardan TimeSpan zaman aralığı fonksiyonunu kullanabiliriz.

TimeSpan fonksiyonunu en basit haliyle kullanmamız gerekirse şöyle bir örnek verebiliriz.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

1. Dim dt1 As DateTime = DateTime.Now

2. Dim dt2 As New DateTime(2006, 1, 10)

3. Dim ts As TimeSpan

4. ts = dt1.Subtract(dt2)

5. MsgBox(ts.TotalDays. ToString("0"))

End Class



Bu alt yordam, button1 kontrolüne tıkladığımızda bize dt1 ile dt2 arasında tarih farkını gün cinsinden ekrana mesaj olarak gösteriyor.
4. Satırdaki Subtract kodu tarih tipinden veri türüne aittir ve TimeSpan fonksiyonu ile çalışır. Eksiltmek anlamını taşır. Burdaki görevi de dt1 tarih değişkeninden dt2 tarihi değişkenini eksilmek ve farkını ts isimli TimeSpan fonksiyonuna atamaktır.
5. Satır ise 4. satırda TimeSpan fonksiyonuna atanan tarih farkını gün cinsinden ekrana getirir. Tostring(“0”) yazılmasının nedeni format olarak virgüllü hanelerin gelmesini önlemek içindir. ASP, VBScript veya Visual Basic ile uygulama geliştiren arkadaşlar bilecektir, formatnumber fonksiyonunda da 0 rakamı virgüllü hanelerin temizlenmesi işleminde kullanılıyordu. Burdaki durumda formatnumber fonksiyonundan farklı değil.

Şimdi yeni bir Visual Basic.NET 2.0 Projesi açıp, bir örnek yaparak TimeSpan fonksiyonunu açıklayalım.



Açtığımız projeye Bir buton kontrolü, birde label kontrolü eklememiz yeterli ama ben biraz daha açıklayıcı olup başlık ve işlem sonucu alt başlığı şeklinde iki tane daha label kontrolü ekledim.
Örneğimizin yapacağı iş olarak başla butonuna basıldığında 1 ila 10.000.000 arasında bir döngü oluşacak ve döngünün başlayıp ve bitişi zamanları araasında zaman farkını bulup Label2 kontrolüne yazarak kullanıcıya göstereceğiz.
Formumuza ilgili kontrolleri ekledikten sonra aşağıdaki kodu yazabiliriz.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Call islem()

End Sub

Sub islem()

Dim baslangic As DateTime

Dim bitis As DateTime

Dim sure As System.TimeSpan

baslangic = DateTime.Now

Dim i As Integer

For i = 1 To 10000000

i = i + 1

Next

bitis = DateTime.Now

sure = bitis.Subtract(baslangic)

Label2.Text = "İşlem " & sure.TotalMilliseconds.ToString & " milisaniyede Gerçekleşti. "

End Sub

End Class



Evet gerekli kodlarıda ekledikten sonra programımızı çalıştırıp neler olacağını görelim.



Eğer herhangi bir sorunla karşılaşmadıysanız böyle bir ekran görüntüsü almanız gerek. İşlemin 15,586 milisaniyede gerçekleştiğini biliyoruz artık. Bu bilgi uygulamalarımız için birtakım fikirler verebilir.
Örneğin uygulamalarımızda performans tartışılmaz bir zorunluluk Bu nedenle çeşitli yöntemlerle birlikte TimeSpan() fonksiyonunu kullanarak işlem zamanının azalıp arttığını, buna bağlı olarak da performans artışının olup olmadığını anlayabiliriz.
Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.