Julia REPL의 시작 시간이 느린 문제

juliaup을 통해 설치한 julia를 설치하면 어느 시점 이후로 시작 시간이 크게 느려진다?

Julia REPL의 시작 시간이 느린 문제
Photo by Praveen Thirumurugan / Unsplash

사용하던 컴퓨터를 포맷할 일이 있어 포맷 후 Julia를 설치하려고 홈페이지를 찾아보니, 매 버전마다 패키지 인스톨러가 제공되던 방식외에 juliaup을 사용하라는 권고가 보였습니다. 아예 맨 위에 소개되는 내용이 MS Store에서 줄리아를 설치하는 명령이었습니다. 물론 아래 쪽에는 수동으로 설치할 수 있는 패키지를 다운로드 받을 수 있는 링크들이 소개되고는 있습니다.

MS Store 버전의 Julia를 설치하면 juliaup이 함께 설치되는데, juliaup을 사용하면 새로운 Julia 배포판이 나왔을 때 업그레이드도 손쉽게 할 수 있고, 여러 버전의 Julia를 같은 기기에 설치하여 사용하는 것도 자유롭다고 합니다. 사실 개인적으로 이런 장점은 별로 와닿지도 않고 그렇게 쓸 일도 없고, 버전이 바뀐다고 자주 업그레이드할 일도 없었지만, '그래도 한 번 해볼까?' 하는 생각이 들어서 터미널에서 아래 명령을 실행해서 Julia를 설치했습니다.

winget julia -s msstore

설치는 무사히 잘 되었고, 이후부터 필요한 패키지들을 설치해본다거나 하는 일들은 물흐르듯 자연스럽게 진행되었습니다. 그리고 며칠이 지난 후...

간단한 스크립트를 하나 실행했는데, 너무 느리게 결과가 나왔습니다.

터미널 명령줄에서 julia 라고 입력하고 엔터를 누르면 REPL 프롬프트가 뜨기까지 시간이 제법 오래 걸리는 경우가 종종 있습니다. 여기서 '제법'이 2~3초가 아니라 8에서 9초라면 단순히 불편함의 문제가 아닙니다.

그런데 의외로 이에 대한 불만을 표현하는 내용은 별로 검색되지 않는 것 같았고, 결국 원인을 찾았습니다. juliaup을 포함한 패키지를 통해 julia가 실행되면 자동으로 업데이트가 존재하는지를 검색하는데, 여기에 시간이 많이 소요되는 것으로 보입니다. 그리고 한 번 업데이트를 찾고나면 또 당분간은 시작 시 지연이 발생하지 않습니다. 아마 주기적으로 시작 시 업데이트를 체크하는 동작을 하는 것 같습니다.

juliaup config 명령을 사용하면 이 동작이 자동으로 일어나지 않도록 설정할 수 있습니다.

> julia config versionsdbupdateinterval 0

위와 같이 버전 DB 업데이트 주기를 0으로 설정하면, 자동으로 업데이트 체크를 더 이상 하지 않게 되며, 이후부터는 시작이 느려지는 문제는 발생하지 않습니다. 대신 필요한 시점에 수동으로 juliaup update를 실행하여 이를 업데이트하면 됩니다.