Python 프로그램을 처음 실행하는 데 너무 오래 걸리나요? [복제]

Nov 17 2020

기본적으로 미세한 전기 부하 데이터, 태양열 생산 데이터를 가져오고 에너지 흐름 분석을 수행하는 파이썬 스크립트가 있습니다. 많은 루프와 거대한 DataFrame, 행렬 및 배열을 포함하는 상당히 복잡한 알고리즘입니다. 스크립트 작업을하는 데는 평균 35 초가 걸립니다. 내 기계의 모든 팬이 불기 시작합니다.

하지만 PC를 3-4 시간 동안두고 돌아 왔다고 가정하면 동일한 코드를 실행하는 데 120 초 이상이 걸립니다.

왜 그렇고 이것을 피할 수있는 방법이 있습니까?

어떤 도움을 주시면 감사하겠습니다.

답변

1 Tamir Nov 17 2020 at 05:16

이것은 캐싱 때문에 발생합니다. 동일한 위치에서 처음으로 데이터를로드하면 곧 해당 데이터를 다시 사용할 것이라는 믿음 때문에 데이터가 더 쉽게 액세스 할 수있는 위치 (캐시)에 저장됩니다. 컴퓨터를 떠나면 그 공간은 다른 프로세스가 사용하는 다른 데이터로 채워집니다. 이것은 컴퓨터가 구축되는 방식의 기본 부분이며 컴퓨터 (CPU)를 더 빠르게 만들기 위해 다양한 최적화 칩 설계자가 추가합니다. 이 현상을 "콜드 런"이라고도합니다.

편집 : 데이터로드에는 실제 코드 세그먼트 (힙, 스택 등)를 메모리에로드하는 작업이 포함됩니다.