Program çalışma süresi; programın başlaması ile bitişi arasında geçen
süredir.
Program kodlarının hantal kullanımı, değişkenlerin gereksiz veya yanlış kullanımı aynı işi yapan uzun algoritma seçilmesi program çalışma süresinin artmasına neden olur.
Bu durum küçük programlar için önemsenmeyebilir ancak büyük veri işleyen büyük programlar için programın iş yapma süresi önemli konudur. O yüzden programlamaya başladığınızda hızlı çalışan kodlama tekniklerini öğrenmek ve kullanmak ilerisi için iyi bir alışkanlık olacaktır.
QuickBasic program kodlarının çalışma süresini hesaplamak isterseniz aşağıdaki örnekten faydalanabilirsiniz.
Kodlar derlenip exe dosyaya dönüştürüldüğünde daha hızlı çalışacaktır.
Çalışma süresini hesaplamak için TIMER fonksiyonu kullanıldı.
Süre
1'den küçük ya da 0 çıkacak olursa kodlarınızı FOR x=1 TO 100 ... NEXT gibi
bir döngü içine alın.
TIMER
Örnek 1:
t = TIMER 'program başlangıç zamanı
FOR n = 0 TO 20000
c = SQR(n)
PRINT c;
NEXT
CLS
PRINT "Geçen süre:"; TIMER - t; "saniye"
Aynı işi yapan ama daha hızlı çalışan kod:
DIM n AS INTEGER
t = TIMER 'başlangıç saati
FOR n = 0 TO 20000
PRINT SQR(n);
NEXT
CLS
PRINT "Geçen süre:"; TIMER - t; "saniye"
Geçen süre: 9.058594 saniye
Örnek 1'de n değişkeni varsayılan değişken türü olan
SINGLE'dır ve Bellekte 4 bayt yer kaplar.
Örnek 2'deki kodda
n değişkeni INTEGER olarak belirlendi. Integer değişken
bellekte 2 bayt yer kaplar.
İkinci kodda c değişkenine gerek
olmadığı için kullanılmadı.
Örnek 3:
Aynı işi yapan ama daha yavaş çalışan kod:
DIM n AS INTEGER
t = TIMER 'başlangıç saati
WHILE n <= 20000
PRINT SQR(n);
n = n + 1
WEND
CLS
PRINT "Geçen süre:"; TIMER - t; "saniye"
Geçen süre: 9.339844 saniye
Örnek 4:
Aynı işi yapan başka bir örnek
DIM n AS INTEGER
t = TIMER
DO
PRINT SQR(n);
n = n + 1
LOOP UNTIL n > 20000
CLS
PRINT "Geçen süre:"; TIMER - t; "saniye"
Örnek 5:
10 t! = TIMER 20 PRINT SQR(n%); 30 n% = n% + 1 40 IF n% <= 20000 THEN GOTO 20 50 CLS 60 PRINT "Geçen süre:"; TIMER - t!; "saniye"
Geçen süre: 9.289063 saniye
| Önceki Bölüm: 26: Olay ile dallanma | Sonraki Bölüm: 28: Hata ayıklama-1 |
Hiç yorum yok:
Yorum Gönder