습관적으로 import java.util.*; 등등을 쓰다가 문득 궁금해졌다.

GPT의 답변은 이렇다
이때 주목할 부분은 "컴파일러가 최적화해서 포함되지 않거나 사용되지 않는다"
추가적인 조사를 더 해 보면
컴파일 언어에서는 실행 전에 컴파일 과정이 필수이며, 그 과정에서 필요한 것만 거르기 때문에 컴파일 시간에는 영향을 미칠 수 있으나 컴파일 결과로 같은 실행 파일을 생성하므로 실제 실행 속도에는 영향을 미치지 않는다! 고 한다.
다만 와일드카드가 아닌 구체적인 명시를 권장하는 이유는 코드의 가독성과 명확성을 위해서이다
자바 클래스 import 관련 속도 문제(import java.util.*)
자바에서 클래스를 가져올 때 와일드카드(*)를 써서 전체를 임포트하는 경우가 있습니다.(원인은 귀차니즘 ...
blog.naver.com
그렇다면 컴파일 언어가 아닌 파이썬과 같은 인터프리터 언어에서는?

컴파일 언어보다는 import를 어떻게 하느냐에 더 민감한 것으로 보이지만, 마찬가지로 크게 중요한 차이는 아닌 것으로 보인다.
하지만 from * import ** 식으로 구체적으로 명시해주면 찾는 속도가 줄어드니까 조금 빨라질 수는 있다!는 듯
Is there a performance cost putting python imports inside functions?
I build quite complex python apps, often with Django. To simplify inter-application interfaces I sometimes use service.py modules that abstract away from the models. As these 'aggregate functional...
stackoverflow.com
'TIL > etc' 카테고리의 다른 글
선형대수란 뭘까 (0) | 2024.12.02 |
---|---|
실용주의 프로그래머 1장 (0) | 2024.06.20 |
[이산수학] 집합론 (2) | 2024.04.22 |
jupyter notebook 설치 명령어 (0) | 2024.03.27 |
[Kubernetes] Deployment (0) | 2024.01.14 |