Sự khác biệt giữa tệp thực thi python3 và python3m


116

Sự khác biệt giữa những người điều hành /usr/bin/python3và những người điều hành là /usr/bin/python3mgì?

Tôi đang quan sát chúng trên Ubuntu 13.04, nhưng Google gợi ý rằng chúng cũng tồn tại trên các bản phân phối khác.

Hai tệp có cùng md5sum, nhưng dường như không phải là liên kết tượng trưng hoặc liên kết cứng; hai tệp có số inode khác nhau được trả về ls -livà thử nghiệm find -xdev -samefile /usr/bin/python3.3không trả về bất kỳ tệp nào khác.

Ai đó đã hỏi một câu hỏi tương tự trên AskUbuntu , nhưng tôi muốn tìm hiểu thêm về sự khác biệt giữa hai tệp.


11
Điều này được đề cập trong PEP được đề cập trong câu trả lời cho câu hỏi được liên kết.
chepner

Ah cảm ơn bạn! Trước khi viết câu hỏi này, tôi đã đọc vài dòng đầu tiên của PEP, nhưng quá lười biếng để đọc toàn bộ ...
James Mishra

Câu trả lời:


117

Tín dụng cho điều này thuộc về chepner vì đã chỉ ra rằng tôi đã có liên kết đến giải pháp.

Triển khai Python CÓ THỂ bao gồm các cờ bổ sung trong thẻ tên tệp nếu thích hợp. Ví dụ: trên hệ thống POSIX, các cờ này cũng sẽ đóng góp vào tên tệp:

--with-pydebug (cờ: d)

--with-pymalloc (cờ: m)

--with-wide-unicode (cờ: u)

qua PEP 3149 .

Về mlá cờ cụ thể, đây là những gì Pymalloc là:

Pymalloc, một công cụ phân bổ đối tượng chuyên dụng do Vladimir Marangozov viết, là một tính năng được thêm vào Python 2.1. Pymalloc nhằm nhanh hơn hệ thống malloc () và có ít chi phí bộ nhớ hơn cho các mẫu phân bổ điển hình của các chương trình Python. Bộ cấp phát sử dụng hàm malloc () của C để lấy các vùng bộ nhớ lớn và sau đó đáp ứng các yêu cầu bộ nhớ nhỏ hơn từ các vùng này.

thông qua Có gì mới trong Python 2.3

Cuối cùng, hai tệp có thể được liên kết cứng trên một số hệ thống. Mặc dù hai tệp có số inode khác nhau trên hệ thống Ubuntu 13.04 của tôi (do đó là các tệp khác nhau), một bài đăng trên comp.lang.python từ hai năm trước cho thấy rằng chúng đã từng được liên kết cứng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.