2008/10/27 James Mills <[EMAIL PROTECTED]>: > On Mon, Oct 27, 2008 at 5:40 PM, David Cournapeau <[EMAIL PROTECTED]> wrote: >> Depends on the tool: build tool and source control tools are example >> it matters (specially when you start interfaciing them with IDE or >> editors). Having fast command line tools is an important feature of >> UNIX, and if you want to insert a python-based tool in a given >> pipeline, it can hurt it the pipeline is regularly updated. > > Fair enough. But still: > 0.5s old startup is fast enough > 0.08s warm startup is fast enough. > > Often "fast enough" is "fast enough"
Nope, when it comes to start up speed the only thing that is fast enough is "instantly." :) For example, if I write a GUI text editor in Python, the total cold start up time might be 1500 ms on a cold system. 750 ms for the interpreter and 750 ms for the app itself. However, if I also have other processes competing for IO, torrent downloads or compilations for example, the start up time grows proportional to the disk load. For example, if there is 50% constant disk load, my app will start in 1.5 / (1 - 0.5) = 3 seconds (in the best case, assuming IO access is allocated as efficiently as possible when the number of processes grows, which it isn't). If the load is 75%, the start time becomes 1.5 / (1 - 0.75) = 6 seconds. Now if the Python interpreters start up time was 200 ms, by apps start up time with 75% disk load becomes (0.2 + 0.75) / (1 - 0.75) = 3.8 seconds which is significantly better. -- mvh Björn -- http://mail.python.org/mailman/listinfo/python-list