CodeBlanks Logo Icon CodeBlanks

Stopwatch

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

main.dart
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

main.dart
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

Soru
final sw = Stopwatch()..____();
Cevap
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

İleri seviye bölümündeki tüm dersler