2011-10-01 5 views
0

리소스 측면에서 두 모드간에 차이점이 있습니까? 필자는 제목에서 파이썬을 언급하고 있지만, 많은 인터프리터 언어 (옥타브 등)에 공통된 설명이 있다면 매우 도움이 될 것입니다.파이썬 - 인터프리터 모드와 인터프리터의 일반적인 호출

감사

+0

@agf 그냥 묻습니다. – saadtaame

+0

리소스가 중요한 요소에 대해 대화식 모드를 사용하려는 상황이 확실하지 않습니다. – agf

+0

글쎄, 나는이 질문에 유용한 대답이 없다고 생각한다. 유스 케이스를 생각해 낼 수 있다면, 같은 상황에서 실제로 두 리소스의 사용을 _ 테스트 할 수 있습니다. – agf

답변

1

그것은 다소 더 많은 메모리를 사용합니까 상호 작용하는 과정과 같습니다 비교

[email protected]:/etc$ python 
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import time 
>>> time.sleep(20000) 
^Z 
[1]+ Stopped     python 
[email protected]:/etc$ jobs -p 
3881 
[email protected]:/etc$ pidstat -r -p 3881 
Linux 2.6... (malkovich)  11-10-01  _x86_64_  (4 CPU) 

08:16:10 PM  PID minflt/s majflt/s  VSZ RSS %MEM Command 
08:16:10 PM  3881  0.00  0.00 34856 5072 0.14 python 

은 RSS와

[email protected]:/etc$ 
[email protected]:/etc$ python -c 'import time; time.sleep(20000)' & 
[1] 3559 
[email protected]:/etc$ pidstat -r -p $! 
Linux 2.6... (malkovich)  11-10-01  _x86_64_  (4 CPU) 

08:11:41 PM  PID minflt/s majflt/s  VSZ RSS %MEM Command 
08:11:41 PM  3559  0.00  0.00 27872 4412 0.12 python 
[email protected]:/etc$ kill %1 
[email protected]:/etc$ 
[1]+ Terminated    python -c 'import time; time.sleep(20000)' 

은 (상주 메모리 사용) 값은 흥미로운 사람이다 대화식 프로세스의 경우 약 650KB입니다.

대화식 세션에서 제공되는 명령 기록 및 기타 정보 때문에이 값 (차이)이 다소 증가 할 수 있지만 크게 사용하지 않을 것으로 예상됩니다. 나는 그다지 큰 차이는 없을 것이라고 생각하지만, 특정 상황에 대해 비슷한 테스트를하고 싶을 수도 있습니다. 실행중인 해석 세션을 배경으로하려면 문자 그대로 ^Z (CTRL-Z)을 누릅니다.

전반적으로, 몇 MB의 RAM 만있는 임베디드 시스템에서 실행하지 않는 한 그 차이가 크지 않을 것이라고 생각합니다.

코드를 모듈로 작성한 다음 가져 오면 바이트 코드로 컴파일되고 저장된다는 점에 유의하십시오. 이것은 메모리 소비를 줄이고 후속 호출시 시작 시간을 줄이는 것으로 생각됩니다. 차이점에 대한 아이디어를 얻으려면 몇 가지 테스트를 실행하는 것이 좋습니다.

+0

감사합니다. 도움이되었습니다. – saadtaame