- What does the
mstand for inpython3.6m? - How does it differ to non
mversion? - In which case would I prefer to use
python3.6mrather thanpython3.6?
Asked
Active
Viewed 2.7k times
61
Dimitris Fasarakis Hilliard
- 150,925
- 31
- 268
- 253
Michael D.
- 1,795
- 2
- 18
- 25
1 Answers
70
What does the
mstand 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
mversion?
The non m version is, obviously, not configured with it.
In which case would I prefer to use
python3.6mrather thanpython3.6?
Probably most usefull when writing C extensions, in general it shouldn't be something you should worry about.
Dimitris Fasarakis Hilliard
- 150,925
- 31
- 268
- 253
-
7This 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 May 03 '18 at 01:49
-
4And yes they have the same SHA1 hash too. – Steven Lu May 04 '18 at 03:47
-
i have noticed that they have different header files, that may be the difference – Diedre May 16 '18 at 18:34
-
@StevenLu app may choose to behave differently depending on its invocation name. not sure about this particular case, though – ratijas Jun 25 '18 at 08:02
-
7if python m is faster, why would one not use that exclusively? – Kevin Buchs Feb 08 '19 at 22:46
-
6@StevenLu On my system they *are* the same: `ls -i python3.7 python3.7m` reports `8943110 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? – Martin Tournoij Mar 13 '19 at 09:48
-
sweet! @MartinTournoij – Steven Lu Mar 13 '19 at 13:36