[python] python3 및 python3m 실행 파일의 차이점

실행 파일 /usr/bin/python3/usr/bin/python3m실행 파일 의 차이점은 무엇입니까 ?

나는 우분투 13.04에서 그들을 관찰하고 있지만 Google은 다른 배포판에도 존재한다고 제안합니다.

두 파일은 동일한 md5sum을 갖지만 심볼릭 링크 나 하드 링크가 아닌 것 같습니다. 두 파일은에서 반환 된 다른 inode 번호를 ls -li가지며 테스트 find -xdev -samefile /usr/bin/python3.3는 다른 파일을 반환하지 않습니다.

누군가 AskUbuntu 에서 비슷한 질문을 했지만 두 파일의 차이점에 대해 자세히 알아보고 싶었습니다.



답변

이에 대한 크레딧은 내가 이미 솔루션에 대한 링크 가 있음을 지적한 chepner 에게 갑니다 .

Python 구현은 적절하게 파일 이름 태그에 추가 플래그를 포함 할 수 있습니다. 예를 들어, POSIX 시스템에서 이러한 플래그는 파일 이름에도 기여합니다.

–with-pydebug (플래그 : d)

–with-pymalloc (플래그 : m)

–with-wide-unicode (플래그 : u)

PEP 3149 를 통해 .

m특히 플래그 와 관련하여 Pymalloc은 다음과 같습니다.

Vladimir Marangozov가 작성한 특수 객체 할당자인 Pymalloc은 Python 2.1에 추가 된 기능입니다. Pymalloc은 시스템 malloc ()보다 빠르고 Python 프로그램의 일반적인 할당 패턴에 대한 메모리 오버 헤드를 줄 이도록 고안되었습니다. 할당자는 C의 malloc () 함수를 사용하여 큰 메모리 풀을 가져온 다음 이러한 풀에서 더 작은 메모리 요청을 수행합니다.

Python 2.3의 새로운 기능을 통해

마지막으로 두 파일은 일부 시스템에서 하드 링크 될 수 있습니다. 두 파일은 우분투 13.04 시스템에서 다른 inode 번호를 가지고 있지만 (따라서 다른 파일 임) 2 년 전의 comp.lang.python 게시물에 따르면 한때 하드 링크 된 것으로 나타났습니다.


답변