Çalışma süresi ve ölçüm

Orta Düzey Julia

Anthony Markham

Quantitative Developer

İlk işlev tanımı

  • Bir sorunun birden çok çözümü olabilir, ancak genelde bir “en iyi” çözüm vardır
  • Yüksek bellek kullanımı ve uzun çalışma süreleri hem kullanıcıları hem geliştiricileri zorlar
  • Döngüler sık görülen uzun çalışma süresi ve verimsizlik nedenidir
function my_function()
  x = Vector{Char}()
  for i in "Anthony"
    push!(x, i)
  end
  println(x)
end
['A', 'n', 't', 'h', 'o', 'n', 'y']
Orta Düzey Julia

Temel @time makrosu

  • İşlevlerimizi zamanlamak için makrolar kullanırız.

Avantajlar:

  • Julia'nın temel paketinde yer alır
  • Basit ve çağırması kolay
  • Çıktı yorumlaması kolay

Dezavantajlar:

  • Sınırlı esneklik
  • İşlevi yalnızca bir kez ölçer
  • İlk makro çağrısında derleme yükü vardır
  • Makroyu işlevimizde çağırın
@time my_function()
@time my_function()
  • Dönen değerler

0.278266 seconds (110.66 k allocations: 6.343 MiB, 99.79% compilation time)

0.000493 seconds (100 allocations: 3.281 KiB)

Orta Düzey Julia

BenchmarkTools - @benchmark

Neden @time yerine @benchmark?

  • En esnek seçenektir; samples sayısı gibi birçok parametre ayarlanabilir.
  • Derinlemesine çalışma zamanı istatistikleri (aralık, medyan, ortalama).
@benchmark my_function

Orta Düzey Julia

Hadi pratik yapalım!

Orta Düzey Julia

Preparing Video For Download...