> On 14 Mar 2023, at 22:38, Glyph <gl...@twistedmatrix.com> wrote:
> 
> Aaaaaand it's landed.  Fastest feature on Twisted ever ;-)

How does it perform on linux system?

Barry

> 
> -g
> 
>> On Mar 14, 2023, at 1:26 PM, Glyph <gl...@twistedmatrix.com> wrote:
>> 
>> Oh hey it looks like… I already did this and it already got reviewed and 
>> already got approved and is waiting to get merged: 
>> https://github.com/twisted/twisted/pull/1675
>> 
>> but it predated the review robot so it fell through the cracks.
>> 
>> Looks like I'll land this as soon as tests can pass :)
>> 
>> -g
>> 
>>> On Mar 14, 2023, at 1:15 PM, Glyph <gl...@twistedmatrix.com> wrote:
>>> 
>>> I am writing some code that was spawning a lot of processes with 
>>> spawnProcess, and it was going a bit slower than I expected; it was taking 
>>> about 51 seconds on my M1 Max mac.  So I hopped over to my local copy of 
>>> Twisted and applied this patch:
>>> 
>>> 1 file changed, 9 insertions(+)
>>> src/twisted/internet/process.py | 9 +++++++++
>>> 
>>> modified   src/twisted/internet/process.py
>>> @@ -367,6 +367,15 @@ class _BaseProcess(BaseProcess):
>>>          @type environment: L{dict}.
>>>          @param kwargs: keyword arguments to L{_setupChild} method.
>>>          """
>>> +        from os import posix_spawn, POSIX_SPAWN_DUP2, POSIX_SPAWN_CLOSE
>>> +        fdmap = kwargs.get("fdmap", {})
>>> +        actions = [
>>> +            (POSIX_SPAWN_DUP2, childFD, parentFD)
>>> +            for (parentFD, childFD) in fdmap.items()
>>> +        ]
>>> +        self.pid = posix_spawn(executable, args, environment, 
>>> file_actions=actions)
>>> +        return
>>> +
>>>          collectorEnabled = gc.isenabled()
>>>          gc.disable()
>>>          try:
>>> 
>>> This is obviously not a complete reimplementation and might have some 
>>> slight performance advantage due to its incompleteness, but the task in 
>>> question then took 16 seconds; i.e. a 319% speedup.
>>> 
>>> Anyone want to do this implementation for real?  Or want to commit to a 
>>> review, if I did it?
>>> 
>>> -g
>>> 
>> 
>> _______________________________________________
>> Twisted mailing list -- twisted@python.org
>> To unsubscribe send an email to twisted-le...@python.org
>> https://mail.python.org/mailman3/lists/twisted.python.org/
>> Message archived at 
>> https://mail.python.org/archives/list/twisted@python.org/message/HT7S4IXLH3X76BVLFMDRUXM52HBGZOEW/
>> Code of Conduct: https://twisted.org/conduct
> 
> _______________________________________________
> Twisted mailing list -- twisted@python.org
> To unsubscribe send an email to twisted-le...@python.org
> https://mail.python.org/mailman3/lists/twisted.python.org/
> Message archived at 
> https://mail.python.org/archives/list/twisted@python.org/message/7JFFYLSN2V2KWGUPOMLH5WIQCUZSNZGO/
> Code of Conduct: https://twisted.org/conduct
_______________________________________________
Twisted mailing list -- twisted@python.org
To unsubscribe send an email to twisted-le...@python.org
https://mail.python.org/mailman3/lists/twisted.python.org/
Message archived at 
https://mail.python.org/archives/list/twisted@python.org/message/PI6LOMOVJFRAVFZDIHEHATYS7AGSD445/
Code of Conduct: https://twisted.org/conduct

Reply via email to