Is Python overhyped (just like Java)?

Ben Hutchings do-not-spam-ben.hutchings at businesswebsoftware.com
Tue Apr 1 10:18:21 EST 2003


In article <x78yuwloxj.fsf at guru.mired.org>, Mike Meyer wrote:
> Roy Smith <roy at panix.com> writes:
> 
>> I just make a trivial change to a single source file in a project I'm 
>> working on and times how long it took to run make.  It took 1 minute, 41 
>> seconds.  The vast majority of that time was make itself, recursing up 
>> and down the directory tree to discover that nothing else had changed.  
>> Had the change been to a core header file, I might have been waiting for 
>> 15 minutes while make recompiled the whole world.  With Python, I would 
>> have been able to test my change in a matter of seconds.
> 
> It's fairly well know that recursive make files are slow.

They are also incapable of expressing all the dependencies you might want.

> There are tools built to solve this problem (e.g. jam), and technics for
> using include's in make files so the entire tree is processed by one
> make. Either one results in significantly faster builds.

Yes.  I came up with an include-based makefile system that would often
require make to read rules from a hundred or so files (it would read some
common files several times over with different substitutions) and to
examine a thousand or so source and dependency files.  It only took about
a second to start up, and that was on an Sun Ultra 2 (I think), which is
not a speed demon.

However, C++ compilation can be very slow because the compiler often needs
to see so many related class definitions to compile each source file.  You
can avoid a lot of that with the pimpl idiom, though.

> Of course, that's still not faster than having an interpreter. One of
> the things that attracted me to python was that it came with an
> interpreter, as opposed to having add it to Perl or Java.

It gives a huge productivity boost.

> Batteries included, indeed.




More information about the Python-list mailing list