줄리아에서 소수점 아래 버리고 정수형으로 바꾸는 법
요약
trunc
함수의 첫번째 인수로써 Int
를 넣으면 된다.
코드
julia> @time for t in 1:10^8
Int64(ceil(t/1000))
end
0.189653 seconds
julia> @time for t in 1:10^8
trunc(Int64, ceil(t/1000))
end
0.128472 seconds
두 반복문은 정확히 같은 기능을 하지만 1.5배 정도의 속도차이를 보인다. 위는 ceil
로 소수점 아래를 버리고 Int64
로 타입 캐스트를 했고, 아래는 trunc
함수의 자체 기능으로써 네이티브하게 정수를 리턴했기 때문에 더 빠르다.
다른 언어를 쓰던 사람에게는 위쪽 반복문 같은 정직한 명령이 자연스럽겠지만 줄리아에서는 자료형을 첫번째 인수로 넣어서 리턴을 받는 식의 내장함수가 많으므로 아래쪽 반복문과 같은 용법이 더 익숙해질 것이다.
환경
- OS: Windows
- julia: v1.5.0