실행 시간과 측정

Julia 중급

Anthony Markham

Quantitative Developer

초기 함수 정의

  • 문제에는 여러 해법이 있지만, 종종 ‘최적’ 해가 있습니다.
  • 큰 메모리 사용과 긴 실행 시간은 사용자와 개발자 모두를 좌절시킵니다
  • 루프는 긴 실행 시간과 비효율의 흔한 원인입니다
function my_function()
  x = Vector{Char}()
  for i in "Anthony"
    push!(x, i)
  end
  println(x)
end
['A', 'n', 't', 'h', 'o', 'n', 'y']
Julia 중급

베이스 @time 매크로

  • 매크로로 함수 실행 시간을 잽니다.

장점:

  • Julia 베이스 패키지에 포함
  • 간단하고 호출이 쉬움
  • 출력 해석이 쉬움

단점:

  • 유연성이 제한적
  • 한 번만 측정함
  • 첫 호출은 컴파일 오버헤드 발생
  • 함수에 매크로를 호출합니다
@time my_function()
@time my_function()
  • 반환 값

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

0.000493 seconds (100 allocations: 3.281 KiB)

Julia 중급

BenchmarkTools - @benchmark

@time보다 @benchmark를 쓸까요?

  • 가장 유연하며 samples 수 등 많은 파라미터를 조정 가능
  • 실행 시간 통계를 심층 제공(범위, 중앙값, 평균)
@benchmark my_function

Julia 중급

연습해 봅시다!

Julia 중급

Preparing Video For Download...