oldStatesman said:
Not being a programmer, I found this little treatise I found from a google search to be of great value explaining some things about how Python and memory allocation works. Fairly easy to read and understand.
I don't quite understand it all yet, especially the recommended fixes, and I am not sure how current it is; i.e. if it applies to the latest version of Python - there is no date on the site - but it does explain the way Python uses memory in terms someone like myself can understand.
http://evanjones.ca/memoryallocator/
oldStatesman, that is an excellent article you found. That article is from a guy at my old alma mater, the University of Waterloo, which has one of the very top computing schools in the world.
As for how current it is, he comments that pymalloc became imbedded in 2.3.
The most current version of python available at python.org is 2.4.2, and was released Spet 28th this year.
The first release of 2.3 was in late July, 2003.
I had a quick scan of the release notes of 2.3.1 through 2.3.5 (2.3.5 was released Feb 2005), and I saw nothing about modifying pymalloc in the notes.
It was a quick scan though, so it may be there be something there that a better coder than I would recognize as a change.
This Evan Jones is a grad student at U of W, as per his personal web page, and is still active in Python. According to his web page, he released a Python
parser less than 2 weeks ago.
I am emailed him to see if he knows if this allocation problem was solved in later versions of Python.
This may be a waste of time, but I could see two pieces of info that need to be figured out:
1. I am sure Harkonnen is already all over this, but does Civ IV fit the model that this Evan Jones decribes as a candidate for better allocation of memory.
2. If this pymalloc problem was indeed fixed in later versions of Python, and I am not sure this is even considered a "problem", were the Firaxis coder using this "fixed" release, or an old one?