Dear IronPython community,
I recently worked on Jython issue 1057 (http://bugs.jython.org/issue1057) and
also improved the current solution of http://bugs.jython.org/issue1634167 a
bit. For these issues, it is very hard for Jython to emulate CPython behavior
due to the fundamentally different GC implementation, so I suspected,
IronPython might have similar problems and wondered how they are solved here.
Since I never used IronPython or .net, I would appreciate answers on a rather
abstract level and apologize that I have no ambition to look into the source
myself. I'm just hoping to find someone (optimally a core-dev), who can simply
answer it and is maybe open for a discussion of solutions.
My questions are:
- does IronPython support acquired finalizers?
i.e.
class A():
pass
def A__del__():
print "A finalized"
a1 = A()
A.__del__ = A__del__
a1 = None
Would it output "A finalized" or not?
In Jython this won't work so easy, because Jython avoids to overwrite the
finalize method for all instances for its expensiveness. So only instances
known to need finalization on creation time will be finalized. AfaIk,
finalizers in .net are as expensive as in Java, so how would this work in
IronPython?
- how complete is the support of the gc module?
i.e.
In Jython the support is rather poor; most methods are just implemented as
stubs, i.e. one-liners as
throw Py.NotImplementedError("not applicable to Java GC")
gc.collect usually returns the number of collected objects, but Jython just
calls java.lang.System.gc() and returns None. I believe, tracking the number of
collected objects would be possible, but very expensive, so this maybe could be
added as a start-up-flag feature for debugging. How far does IronPython support
this currently?
Thanks in advance!
- Stefan
_______________________________________________
Ironpython-users mailing list
[email protected]
https://mail.python.org/mailman/listinfo/ironpython-users