![](https://secure.gravatar.com/avatar/3dc5fffe0e94dfa07067a45400213034.jpg?s=120&d=mm&r=g)
Hi Steve, On 12/06/2020 12:43 pm, Steve Dower wrote:
On 12Jun2020 1008, Paul Moore wrote:
On Fri, 12 Jun 2020 at 09:47, Mark Shannon <mark@hotpy.org> wrote:
Starting a new process is cheap. On my machine, starting a new Python process takes under 1ms and uses a few Mbytes.
Is that on Windows or Unix? Traditionally, process creation has been costly on Windows, which is why threads, and in-process solutions in general, tend to be more common on that platform. I haven't done experiments recently, but I do tend to avoid multiprocess-type solutions on Windows "just in case". I know that evaluating a new feature based on unsubstantiated assumptions informed by "it used to be like this" is ill-advised, but so is assuming that everything will be OK based on experience on a single platform :-)
It's still like that, though I'm actively involved in trying to get it improved. However, it's unlikely at this point to ever get to equivalence with Unix - Windows just sets up too many features (security, isolation, etc.) at the process boundary rather than other parts of the lifecycle. > It's also *incredibly arrogant* to insist that users rewrite their applications to suit Python, rather than us doing the work to fit their needs. That's not how being a libraries/runtime developer works. Our responsibility is to humbly do the work that will benefit our users, not to find ways to put in the least possible effort and use the rest for blame-shifting. Some of us do much more talking than listening, and it does not pass unnoticed. I don't think anyone is suggesting that users rewrite their code to work with existing features. Using any new feature is going to take some work on the users part, and we are talking about a new feature.
Developer time is a finite resource and any time spent helping one set of users is not spent helping others. Likewise, optimizing for one use case may be hurting performance for other use cases. Personally, I have no idea what is important for other people, but I would like any discussion to have sound technical underpinnings. Once we have those, it becomes possible to have a meaningful discussion. Cheers, Mark.