[Swift] 함수간 걸린시간 측정 / 실행 시간 / 코드 실행 시간 측정

2022. 6. 14. 14:49🍏/Swift

Foundation 내장 함수인 CFAbsoluteTimeGetCurrent() 활용.
TimeInterval로 return시 CFAbsoluteTime 반환보다 적은 시간이 나오는 것을 확인.

import Foundation

public func progressTime(_ closure: () -> ()) -> TimeInterval {
	let start = CFAbsoluteTimeGetCurrent()
	closure()
	let diff = CFAbsoluteTimeGetCurrent() - start
	return (diff)
}

progressTime {
	// put your func
}

 

예시)

import Foundation

public func progressTime(_ closure: () -> ()) -> TimeInterval {
	let start = CFAbsoluteTimeGetCurrent()
	closure()
	let diff = CFAbsoluteTimeGetCurrent() - start
	return (diff)
}

func	chhh_isPrime(_ nb: Int) -> Bool {
	var i: Int

	i = 2
	if (nb <= 1) { return (false) }
	while (i * i <= nb)
	{
		if (nb % i == 0) { return (false) }
		i+=1
	}
	return (true)
}

print(progressTime {
	print(chhh_isPrime(2147483647))
})

소수 구하는 함수 걸린 시간