On Wed, May 16, 2012 at 3:33 PM, Ethan Furman <et...@stoneleaf.us> wrote: > Just hit a snag: > > In cPython the deterministic garbage collection allows me a particular > optimization when retrieving records from a dbf file -- namely, by using > weakrefs I can tell if the record is still in memory and active, and if so > not hit the disk to get the data; with PyPy (and probably the others) this > doesn't work because the record may still be around even when it is no > longer active because it hasn't been garbage collected yet. > > For PyPy I can use `'PyPy' in sys.version` to set a constant > (REFRESH_FROM_DISK in this case) to disable the cPython optimization; does > anyone know what strings to look for for the other implementations?
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.subversion ('CPython', 'tags/r271', '86832') Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06) [Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_31 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.subversion ('Jython', 'tags/Release_2_5_2', '7206') I don't know what IronPython or PyPy return, but it should be something other than 'CPython'. -- http://mail.python.org/mailman/listinfo/python-list