On Jun 1, 2006, at 8:25 AM, Peter Wilkinson wrote: > The line: > slice_size = max(min(self.size - current, current / 4), > current / 64) > maybe should be: > slice_size = max(min(abs(self.size - current), current / > 4), current / 64) Yes, it should be current - self.size. Jesus Cea noticed this recently and it will be fixed in the next Durus release. Fixing this will cause shrink to work faster when the number of cached objects is much higher than the target size.