Stopwatch
- Dart kursu
- İleri seviye
- Ders 74/83
- 5 dk
Stopwatch ile zaman ölçümünü öğrenirsin.
Stopwatch
Stopwatch, Dart'ın yerleşik süre ölçer sınıfıdır (dart:core içinde). start() ile başlar, stop() ile durur. elapsedMicroseconds geçen mikrosaniyeyi, elapsed bir Duration verir.
Örnek: final sw = Stopwatch()..start(); /* iş */ sw.stop(); print(sw.elapsedMicroseconds);. ..start() cascade operatörüdür; nesneyi oluşturup hemen başlatır. isRunning ile çalışıp çalışmadığını öğrenirsin. Stopwatch, bir döngünün veya işlemin gerçek süresini ölçmek için kullanılır; sonuç makineye ve yüke bağlıdır.
Stopwatch ile döngü ölçmek
Bir döngünün süresini ölçmek için Stopwatch döngüden önce başlatılır, sonra durdurulur. Geçen süre yazdırılır. Ancak süre deterministik değildir; makineye ve yüke bağlıdır. Bu yüzden testlerde sürenin kendisini değil, döngünün ürettiği deterministik sonuçu yazdırmak daha güvenilirdir.
Örnek: var sum = 0; for (var i = 0; i < 1000; i++) { sum += i; } print('Toplam: $sum'); print('Çalışıyor: ${sw.isRunning}');. Burada sum (0+1+...+999 = 499500) deterministiktir. sw.isRunning ise stop() sonrası her zaman false verir. Bu ikisi birlikte hem ölçümün yapıldığını hem de sonuçun doğruluğunu gösterir.
Uygulama Stopwatch ile döngü
main içinde final sw = Stopwatch()..start(); ile ölçer başlat. var sum = 0; ile bir for döngüsü yaz: i 0'dan 999'a kadar (1000 hariç), sum += i. Sonra sw.stop(); çağır. print('Toplam: $sum') ve print('Çalışıyor: ${sw.isRunning}') ile yazdır.
Başlangıç kodu
void main() {
// Stopwatch oluştur ve başlat
// 0..999 döngüsü ile sum hesapla
// Stopwatch durdur
// Toplam ve ölçer durumunu yazdır
}Örnek çözüm
void main() {
final sw = Stopwatch()..start();
var sum = 0;
for (var i = 0; i < 1000; i++) {
sum += i;
}
sw.stop();
print('Toplam: $sum');
print('Çalışıyor: ${sw.isRunning}');
}Beklenen çıktı
Toplam: 499500 Çalışıyor: false
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Stopwatch başlatma
final sw = Stopwatch()..____();
final sw = Stopwatch()..start();
Açıklama: Stopwatch()..start() ölçeri başlatır.
2 Stopwatch ne ölçer?
- Bellek
- Süre Doğru cevap
- Disk
- Ağ
Açıklama: Stopwatch süre (zaman) ölçer.
3 Stopwatch parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
start |
Başlatır |
stop |
Durdurur |
elapsed |
Geçen süre |
isRunning |
Çalışıyor mu |