[ZODB-Dev] 32-bit vs 64-bit - RelStorage on MySQL

Shane Hathaway shane at hathawaymix.org
Thu Nov 18 13:14:39 EST 2010


On 11/18/2010 09:54 AM, Chris Withers wrote:
> On 18/11/2010 16:48, Hanno Schlichting wrote:
>> On Thu, Nov 18, 2010 at 5:19 PM, Leonardo Santagada<santagada at gmail.com>   wrote:
>>> On Thu, Nov 18, 2010 at 1:47 PM, Chris Withers<chris at simplistix.co.uk>   wrote:
>>>> On 18/11/2010 15:39, Marius Gedminas wrote:
>>>>> About the only noticeable difference -- other than the obvious memory
>>>>> growth
>>>>
>>>> What obvious memory growth?
>>>
>>> The one from pointers and anything related to memory going from 32bits
>>> to 64bits in size. Py_objects get fatter because of that.
>>
>> For Zope based applications I've generally seen 50% to 100% memory
>> growth when moving to 64bit. That's why we stick to 32bit for a number
>> of memory hungry applications (*wink* Plone).
>
> Right, but, even if the MySQL server is 64-bit, if the clients are
> 32-bit, they won't have this problem, will they?

Ok, you have a 32 bit Python client connecting to a 64 bit MySQL server, 
right?  I don't expect any problems.  All the pickling and unpickling 
will be done on 32-bit clients.  MySQL sees the pickles as opaque binary 
streams.

The only remaining question is whether the MySQL wire protocol can 
handle your setup.  I suspect it can.  If it can't, then you'll be 
filing MySQL bugs, since RelStorage, Python, and even the MySQL-Python 
DB-API adapter are all ignorant of the MySQL wire protocol.

Shane


More information about the ZODB-Dev mailing list