[Twisted-Python] reactor.spawnProcess() and file descriptors
James Y Knight
foom at fuhm.net
Mon Jun 28 08:30:37 MDT 2010
On Jun 28, 2010, at 9:03 AM, Itamar Turner-Trauring wrote:
> On Mon, 2010-06-28 at 13:21 +0100, Carlos Valiente wrote:
>> I wanted to skip the calls to close()
>> -- 1024 of them, in my case -- because, according to strace(1),
>> that
>> takes about 100 ms (and I'd like to save those milliseconds).
>
> Ah, I see. So the issue is performance. If you do file a ticket (and
> you
> probably should), it should be about the speed issue, with suggested
> solutions attached, so people know the underlying issue you're
> trying to
> solve.
>
> It's quite likely that closing could be sufficiently sped up by
> having a
> tiny C extension do it -- less Python overhead, and you don't have to
> raise and catch 1000 exceptions (which is fairly expensive).
Or, if just listdir("/proc/%d/fd/" % getpid()). If that doesn't fail
(aka /proc/pid/fd actually exists and is mounted on this OS) then only
close the listed fds. That'll be much much faster.
James
More information about the Twisted-Python
mailing list