Development time vs. runtime performance (was: Fibonacci series recursion error)

Robert Brown robert.brown at gmail.com
Sun May 8 23:01:18 EDT 2011


Teemu Likonen <tlikonen at iki.fi> writes:
> * 2011-05-08T12:59:02Z * Steven D'Aprano wrote:
>
>> On Sun, 08 May 2011 01:44:13 -0400, Robert Brown wrote:
>>> Python requires me to rewrite the slow bits of my program in C to get
>>> good performance.
>>
>> Python doesn't require you to re-write anything in C. If you want to
>> make a different trade-off (faster runtime, slower development time)
>> then you use a language that has made the appropriate trade-off.
>
> I believe that Robert Brown wanted to imply that Common Lisp is quite
> optimal on both sides. It supports dynamic interactive development and
> yet it has implementations with very efficient compilers. The trade-off
> is not necessarily between the two.

Yes, exactly.  Sometimes I don't know in advance which parts of my
Python program will run too slowly or take too much memory.  I only find
out after the code is written, when it fails to run fast enough or
doesn't fit in my computer's 32-bit address space.  Then the slow parts
get recoded in C.  Common Lisp supports a larger performance range.  A
developer can write slow code quickly or faster code by giving the
compiler more information, which requires more developer time.


> But of course "development time" is a nicely vague concept. Depending on
> the argument it can include just the features of language and
> implementation. Other times it could include all the available resources
> such as documentation, library archives and community mailing lists. All
> these can reduce development time.

This is definitely true.  The total time to complete any task always
depends on tons of factors outside of the programming language.  The
ecosystem is important ... How much code can I avoid writing myself?

bob



More information about the Python-list mailing list