What's the difference between python3.<x> and python3.<x>m
23,470
What does the
m
stand for inpython3.6m
?
It signifies that Python was configured --with-pymalloc
which enables a specialized implementation for allocating memory that's faster than the system malloc
.
How does it differ to non
m
version?
The non m
version is, obviously, not configured with it.
In which case would I prefer to use
python3.6m
rather thanpython3.6
?
Probably most usefull when writing C
extensions, in general it shouldn't be something you should worry about.
Author by
Michael D.
linux admin with coding skills. “It is always worth while asking a question, though it is not always worth while answering one.” ― Oscar Wilde
Updated on January 12, 2020Comments
-
Michael D. over 4 years
- What does the
m
stand for inpython3.6m
? - How does it differ to non
m
version? - In which case would I prefer to use
python3.6m
rather thanpython3.6
?
- What does the
-
Steven Lu about 6 yearsThis answer sounds satisfying, but not when my machine tells me that both executables are exactly 4576440 bytes in size. (pretty clean ubuntu 18.04 server install). I demand to know why they are at least not symlinked to each other. waste of disk. grumble.
-
Steven Lu about 6 yearsAnd yes they have the same SHA1 hash too.
-
Diedre about 6 yearsi have noticed that they have different header files, that may be the difference
-
ratijas almost 6 years@StevenLu app may choose to behave differently depending on its invocation name. not sure about this particular case, though
-
Kevin Buchs over 5 yearsif python m is faster, why would one not use that exclusively?
-
Martin Tournoij about 5 years@StevenLu On my system they are the same:
ls -i python3.7 python3.7m
reports8943110 python3.7 8943110 python3.7m
; same inode, so same file. It's a hard link. I presume this is done so that#!/usr/bin/env python3.7m
works? -
Steven Lu about 5 yearssweet! @MartinTournoij