Message138779
| Author |
vstinner |
| Recipients |
greg.ath, neologix, pitrou, vstinner |
| Date |
2011年06月21日.11:02:56 |
| SpamBayes Score |
1.0631496e-05 |
| Marked as misclassified |
No |
| Message-id |
<1308654176.69.0.733792484541.issue12352@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> I also wonder about the performance cost of a recursive lock.
An alternative is to disable the garbage collector in malloc():
def malloc(self, size):
...
enabled = gc.isenabled()
if enabled:
# disable the garbage collector to avoid a deadlock if block
# is freed (if self.free() is called)
gc.disable()
try:
with self._lock:
size = self._roundup(max(size,1), self._alignment)
...
return block
finally:
if enabled:
gc.enable()
gc.disable() and gc.enable() just set an internal flag and so should be fast. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2011年06月21日 11:02:56 | vstinner | set | recipients:
+ vstinner, pitrou, neologix, greg.ath |
| 2011年06月21日 11:02:56 | vstinner | set | messageid: <1308654176.69.0.733792484541.issue12352@psf.upfronthosting.co.za> |
| 2011年06月21日 11:02:56 | vstinner | link | issue12352 messages |
| 2011年06月21日 11:02:56 | vstinner | create |
|