[Zope-Checkins] CVS: ZODB3/ZODB - fspack.py:1.13
Jeremy Hylton
jeremy at zope.com
Thu Oct 2 20:33:07 EDT 2003
Update of /cvs-repository/ZODB3/ZODB
In directory cvs.zope.org:/tmp/cvs-serv14792/ZODB
Modified Files:
fspack.py
Log Message:
Make classes with __slots__ into new-style objects.
Move two class variable definitions into __init__(), because class
variables defined in __slots__ are immutable. This should still be a
net memory savings, because the a 8-entry dict and a 10-entry dict
both have the same allocated size.
=== ZODB3/ZODB/fspack.py 1.12 => 1.13 ===
--- ZODB3/ZODB/fspack.py:1.12 Thu Oct 2 18:14:04 2003
+++ ZODB3/ZODB/fspack.py Thu Oct 2 20:33:06 2003
@@ -195,7 +195,7 @@
def DataHeaderFromString(s):
return DataHeader(*struct.unpack(DATA_HDR, s))
-class DataHeader:
+class DataHeader(object):
"""Header for a data record."""
__slots__ = (
@@ -203,10 +203,9 @@
# These three attributes are only defined when vlen > 0
"pnv", "vprev", "version")
- version = ""
- back = 0
-
def __init__(self, oid, serial, prev, tloc, vlen, plen):
+ self.back = 0 # default
+ self.version = "" # default
self.oid = oid
self.serial = serial
if isinstance(prev, StringType):
@@ -251,7 +250,7 @@
def TxnHeaderFromString(s):
return TxnHeader(*struct.unpack(TRANS_HDR, s))
-class TxnHeader:
+class TxnHeader(object):
"""Header for a transaction record."""
__slots__ = ("tid", "tlen", "status", "user", "descr", "ext",
More information about the Zope-Checkins
mailing list