473,387 Members | 1,476 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

how fast is Python?

dan
It would be an understatement to say I love this language. What used
to take me all day now takes 3 hours, and I can spend the rest of the
time on my bike thinking about the problems from a high level instead
of wrestling with arcane compiler problems, etc.

Back in the day, when looking at an interpreted language (or even
compiled ones) the first thing I would ask is, "how fast is it?"
These days, with 1ghz processor machines selling for < $500, it seldom
comes up as an issue. And of course in Py's case you can always
'extend and embed' your core routines for fun & profit.

However, there are definitely cases where a lot of code would need to
be optimized, and so I ask the question: How fast is Python, compared
to say a typical optimizing C/C++ compiler?

I realize this is a more complex question than one might think. There
are various types of code constructs that might end up with different
efficiency issues. I guess what I'm asking is, in a general sense,
how fast is it now for typical code sequences, and -- importantly --
what could be done to optimize the interpreter? Are any parts written
in assembly? Could things like hash tables be optimized with parallel
units such as MMX? Etc.

Please advise.
Jul 18 '05 #1
32 12423
Python is fast enough for me, especially 2.3.

Profile & code slow parts as C extensions.
Include your own assembly there if so desired.

Investigate Psyco. There was one example on this
newsgroup that showed that Python+psyco actually
outperformed the same program in compiled C.

--Irmen

Jul 18 '05 #2
dan:
However, there are definitely cases where a lot of code would need to
be optimized, and so I ask the question: How fast is Python, compared
to say a typical optimizing C/C++ compiler?
Highly dependent on context. I use factor of 10-20 as a ballpark,
with factor of 100 for some things like low-level string processing.
Eg, I've got a pure Python regexp engine which clocks at about x80
slower than sre.
what could be done to optimize the interpreter? Are any parts written
in assembly? Could things like hash tables be optimized with parallel
units such as MMX? Etc.


Spend a few tens of millions on developing just-in-time compilers
and program analysis. That worked for Java.

Nothing is written in assembly, except that C can be considered
a portable assembly language. Otherwise ports to different platforms
would be a lot more difficult.

I would hope that the C compiler could optimize the C code
sufficiently well for the hardware, rather than tweaking the
code by hand. (Though I know of at least one person who sent
in a patch to gcc to optimize poorly written in-house code.
Rather circuitous way to fix things, but it worked.)

Andrew
da***@dalkescientific.com
Jul 18 '05 #3
Alex Martelli wrote:
Irmen de Jong wrote:

Investigate Psyco. There was one example on this
newsgroup that showed that Python+psyco actually
outperformed the same program in compiled C.

I think (but will gladly stand corrected if I'm wrong!) that
this is a misinterpretation of some code I posted -- the
C code (crazily) used pow(x,2.0), the Python one (sanely)
x*x -- within a complicated calculation of erf, and that
one malapropism in the C code was what let psyco make
faster code than C did. With C fixed to use x*x -- as any
performance-aware programmer will always code -- the
two ran neck to neck, no advantage to either side.


Whoops, I missed that :) Thanks for the clarification.

Nevertheless, a Psyco-optimized piece of Python code
that runs as fast as compiled C is still very impressive
to me. I know that JIT compiler technology theoretically
could produce better optimized code than a static optimizing
compiler, but am happy already if it reaches equal level :-)

--Irmen de Jong

Jul 18 '05 #4
Irmen de Jong wrote:
...
Nevertheless, a Psyco-optimized piece of Python code
that runs as fast as compiled C is still very impressive
to me. I know that JIT compiler technology theoretically
could produce better optimized code than a static optimizing
compiler, but am happy already if it reaches equal level :-)


If anybody does have an actual example (idealy toy-sized:-)
where psyco's JIT does make repeatably faster code than a
C compiler (well-used, e.g. -O3 for gcc, NOT just -O...!-)
I'd be overjoyed to see it, by the way.
Alex

Jul 18 '05 #5
On Thu, 21 Aug 2003 06:40:04 +0200, Michael Peuser paused, took a deep
breath, then came out with:
A bottleneck can be Tkinter. Use something different then (Qt, wx)..


Wow!

I've found wx to be way slower than Tkinter.

On a P133 running Win98, a McMillan-compiled prog using wx took twice as
long to start up as a similar prog implemented in Tkinter.
Jul 18 '05 #6
> > However, there are definitely cases where a lot of code would need to
be optimized, and so I ask the question: How fast is Python, compared
to say a typical optimizing C/C++ compiler?


I did a benchmark some time ago (nothing optimised):

PURPOSE:
The purpose of this technical report is to gauge the relative speed of
the languages: VB, VBA, Python 2.2, C++, and Fortran.
SUMMARY RESULTS:
It was discovered that uncompiled VB code in VB 6.0 ran at the same
speed as VBA code in Excel. It was half the speed of compiled VB code,
5 times the speed of Python, and 1/20th the speed of C++/Fortran.

METHOD:

The following algorithm was implemented in each of the target
languages:

X = 0.5
For I = 1 to 108
X = 1 – X* X
Next

Timings were made for the execution. The following results were
obtained:

Language Timing (seconds)
VB – uncompiled 74
VB – compiled 37
VBA – Excel 75
Python 401
C++ - debug version 4
C++ - release version 3
Fortran 3
The timings for Fortran are approximate. The execution time had to be
timed with a stopwatch because timing functions could not be
discovered.
Jul 18 '05 #7
On Wednesday 20 August 2003 21:19, Irmen de Jong wrote:
Investigate Psyco.
On the strength of this thread, I investigated Psyco. Results of a
very quick investigation with the following program:

-----------------------------------------
def calcPi(iterations):
pi4 = 1.0
for i in xrange(1, iterations):
denominator = (4*i)-1
pi4 = pi4 - 1.0/denominator + 1.0/(denominator+2)
return pi4 * 4.0

def timethis(func, funcName):
import sys
try:
i = int(sys.argv[1])
except:
i = 1000000
import time
start = time.time()
pi = func(i)
end = time.time()
print "%s calculated pi as %s in %s seconds" % (funcName, pi, end
- start)

def main():
timethis(calcPi, 'calcPi')
timethis(speedyPi, 'speedyPi')

import psyco
speedyPi = psyco.proxy(calcPi)

if __name__ == '__main__':
main()
-----------------------------------------

produced the following results on a 1.7GHz P4 running FreeBSD 4.8:
python2.2 pi.py

calcPi calculated pi as 3.14159315359 in 3.87623202801 seconds
speedyPi calculated pi as 3.14159315359 in 0.790405035019 seconds

-- Neil
Jul 18 '05 #8
dan wrote:

However, there are definitely cases where a lot of code would need to
be optimized, and so I ask the question: How fast is Python, compared
to say a typical optimizing C/C++ compiler?


C is roughly 10 to 100 times faster than Python, though of course it's
easy to find cases outside of this range, on either side.

I use 30 as a general overall rule of thumb, in the exceptionally
few cases where it seems relevant how much faster C would be.

And in those very few cases, so far, I have consistently concluded
I'm happy enough with the speed of Python given that the speed of
*development* in Python is easily 5 to 10 times faster than the
speed of development in C. (And again, it's easy to find cases
outside of this range, on either side...)

-Peter
Jul 18 '05 #9
Mark Carter wrote:
...
The following algorithm was implemented in each of the target
languages:

X = 0.5
For I = 1 to 108
X = 1 – X* X
Next

Timings were made for the execution. The following results were
obtained:

Language Timing (seconds)
VB – uncompiled 74
VB – compiled 37
VBA – Excel 75
Python 401
C++ - debug version 4
C++ - release version 3
Fortran 3


Interesting. One wonders what and where you measured, e.g:

[alex@lancelot gmpy]$ cat a.cpp
int main()
{
double X = 0.5;
for(int i = 0; i < 108; i++)
X = 1 + X * X;
return 0;
}

[alex@lancelot gmpy]$ g++ -O3 a.cpp
[alex@lancelot gmpy]$ time ./a.out
0.01user 0.00system 0:00.00elapsed 333%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (186major+21minor)pagefaults 0swaps

i.e., it's just too fast to measure. Not much better w/Python...:

[alex@lancelot gmpy]$ cat a.py

def main():
X = 0.5
for i in xrange(108):
X = 1 + X*X

main()
[alex@lancelot gmpy]$ time python -O a.py
0.03user 0.01system 0:00.15elapsed 26%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (452major+260minor)pagefaults 0swaps

i.e., for all we can tell, the ratio COULD be 100:1 -- or just about
anything else! Perhaps more details are warranted...
Alex

Jul 18 '05 #10
dan wrote:

I realize this is a more complex question than one might think. >
Please advise.


Consider the percentage of software projects for which the total
number of hours of developer time over the life of the project
exceeds the total number of hours of CPU run time during productive
use of the software produced. This percentage is abysmally high.
Python works on improving it on both ends, by both reducing the
developer time and increasing the number of hours of productive
use. What more could you want?
Al
Jul 18 '05 #11
Travis Whitton
[the shootout] is probably the best site on the
internet for side-by-side language comparisons:


Though there's also pleac.sf.net which isn't for timings
but does show how the different languages would be
used to do the same thing.

And I see my Python contribution still leads the
pack in % done.

Andrew
da***@dalkescientific.com
Jul 18 '05 #12
"David McNab" <po********@127.0.0.1> schrieb im Newsbeitrag
news:pa****************************@127.0.0.1...
On Thu, 21 Aug 2003 06:40:04 +0200, Michael Peuser paused, took a deep
breath, then came out with:
A bottleneck can be Tkinter. Use something different then (Qt, wx)..


Wow!

I've found wx to be way slower than Tkinter.

On a P133 running Win98, a McMillan-compiled prog using wx took twice as
long to start up as a similar prog implemented in Tkinter.


Of course! The wx DLL is mor ethan 6 MB whilest Tcl/Tk still keeps around 1.
I am not talking about start up. When you have ever used a Canvas with a
600x800 Image oder with a thousend items or a TIX HList with a dozend
diffently styled columns you might know WHAT I am talking about.

Even with less filled widgets, most of what you perceive as "lazy" with e.g.
games is generally not the Python but the Tcl interpreter. Pygame shows that
you can dio fast visualisation with Python.

Kindly
Michael P
Jul 18 '05 #13

"Neil Padgen" <ne*********@mon.bbc.co.uk> schrieb im Newsbeitrag
news:bi**********@nntp0.reith.bbc.co.uk...
On Wednesday 20 August 2003 21:19, Irmen de Jong wrote:
Investigate Psyco.


[...]
produced the following results on a 1.7GHz P4 running FreeBSD 4.8:
python2.2 pi.py

calcPi calculated pi as 3.14159315359 in 3.87623202801 seconds
speedyPi calculated pi as 3.14159315359 in 0.790405035019 seconds

-- Neil


This is certainly correct. My experiance with more general programs running
for a few minutes shows that you can expect a speed-up of two. This is still
impressiv when you have your results in 5 instead of 10 minutes..

Kindly
Michael P
Jul 18 '05 #14
dan
Peter Hansen <pe***@engcorp.com> wrote in message news:<3F***************@engcorp.com>...
....
And in those very few cases, so far, I have consistently concluded
I'm happy enough with the speed of Python given that the speed of
*development* in Python is easily 5 to 10 times faster than the
speed of development in C. (And again, it's easy to find cases
outside of this range, on either side...)

I pretty much agree. The point of my question was not to knock Python
-- I'm simply curious how fast, _in_principle_, a language like Python
could be made to run.

I've looked at Psyco and Pyrex, I think both are interesting projects
but I doubt anything in the Py world has had nearly the kind of
man-hours devoted to optimization that Java, C++, and probably C# have
had.
Jul 18 '05 #15
I don't know what Mark Carter wanted to measure either, but I'd like to
mention that when I compile "a.cpp" on my system with the flags Alex
used, the generated code doesn't even include any floating-point
arithmetic. The compiler was able to deduce that X was dead after the
loop, and that its computation had no side-effects. I'm a little
surprised that the compiler didn't completely remove the loop, but it's
still there. "i" isn't there either, instead there's a counter that
begins at 107, decrements and terminates the loop when it reaches -1.
And if I use the directive to unroll loops, the logic is the same except
that the counter decreases by 18 each time instead of 1.

.... and anyway, this modified code (which does actually compute X when
compiled on my system) aborts with a floating point overflow error.
As far as I can tell, your program would be computing a value on the
order of 10^(3x10^31)...

Ah, the joy of writing the proverbial good benchmark.

Jeff

#include <fpu_control.h>
fpu_control_t __fpu_control = _FPU_IEEE &~ _FPU_MASK_OM;

double Y;

int main()
{
double X = 0.5;
for(int i = 0; i < 108; i++)
X = 1 + X * X;
Y = X;
return 0;
}
Jul 18 '05 #16
Jeff Epler:
As far as I can tell, your program would be computing a value on the
order of 10^(3x10^31)... for(int i = 0; i < 108; i++)
X = 1 + X * X;


He had 1-X*X. Since X starts at 0.5, this will never go leave
the range 0 to 1.

Andrew
da***@dalkescientific.com
Jul 18 '05 #17
dan wrote:

Peter Hansen <pe***@engcorp.com> wrote in message news:<3F***************@engcorp.com>...
...
And in those very few cases, so far, I have consistently concluded
I'm happy enough with the speed of Python given that the speed of
*development* in Python is easily 5 to 10 times faster than the
speed of development in C. (And again, it's easy to find cases
outside of this range, on either side...)

I pretty much agree. The point of my question was not to knock Python
-- I'm simply curious how fast, _in_principle_, a language like Python
could be made to run.

I've looked at Psyco and Pyrex, I think both are interesting projects
but I doubt anything in the Py world has had nearly the kind of
man-hours devoted to optimization that Java, C++, and probably C# have
had.


Oh, I completely misinterpreted the question then. I thought you wanted
practical information.

_In principle_, (which I'll interpret as "in theory"), Python can be made
to run even faster than C or C++.

In practice, nobody has been able to prove or disprove that theory yet...

;-)

-Peter
Jul 18 '05 #18
On 20 Aug 2003 13:08:20 -0700, rumours say that da*******@yahoo.com
(dan) might have written:
How fast is Python, compared
to say a typical optimizing C/C++ compiler?


The most important time for me is the time *I* invest in a program,
since when it's run-time, I can always do other stuff while some slave
computer follows my orders. So, I'll reply only about development time
and I'll quote the Smiths: "How Soon Is Now?" :)
--
TZOTZIOY, I speak England very best,
Microsoft Security Alert: the Matrix began as open source.
Jul 18 '05 #19
Alex Martelli <al***@aleax.it> wrote in message news:<qJ**********************@news2.tin.it>...
Irmen de Jong wrote:
...
Nevertheless, a Psyco-optimized piece of Python code
that runs as fast as compiled C is still very impressive
to me. I know that JIT compiler technology theoretically
could produce better optimized code than a static optimizing
compiler, but am happy already if it reaches equal level :-)


If anybody does have an actual example (idealy toy-sized:-)
where psyco's JIT does make repeatably faster code than a
C compiler (well-used, e.g. -O3 for gcc, NOT just -O...!-)
I'd be overjoyed to see it, by the way.
Alex


Actually, as I posted in the C sharp thread of few weeks ago, on my
machine psyco+psyco was FASTER than C. The numbers quoted are for C
with
option -o, but even for -o3 psyco was still faster and, notice, with
pow(x,2) replacedby x*x in C too. I would be happy if somebody can
reproduce that. Here is the link:

http://groups.google.it/groups?hl=it....lang.python.*

Michele Simionato, Ph. D.
Mi**************@libero.it
http://www.phyast.pitt.edu/~micheles
--- Currently looking for a job ---
Jul 18 '05 #20
Alex Martelli <al***@aleax.it> wrote in message news:<qJ**********************@news2.tin.it>...
Irmen de Jong wrote:
...
Nevertheless, a Psyco-optimized piece of Python code
that runs as fast as compiled C is still very impressive
to me. I know that JIT compiler technology theoretically
could produce better optimized code than a static optimizing
compiler, but am happy already if it reaches equal level :-)


If anybody does have an actual example (idealy toy-sized:-)
where psyco's JIT does make repeatably faster code than a
C compiler (well-used, e.g. -O3 for gcc, NOT just -O...!-)
I'd be overjoyed to see it, by the way.
Alex


Actually, as I posted in the C sharp thread of few weeks ago, on my
machine psyco+psyco was FASTER than C. The numbers quoted are for C
with
option -o, but even for -o3 psyco was still faster and, notice, with
pow(x,2) replacedby x*x in C too. I would be happy if somebody can
reproduce that. Here is the link:

http://groups.google.it/groups?hl=it....lang.python.*

Michele Simionato, Ph. D.
Mi**************@libero.it
http://www.phyast.pitt.edu/~micheles
--- Currently looking for a job ---
Jul 18 '05 #21
Steven Taschuk:
A bit off-topic perhaps, but I'd be interested in the details of
[your] anecdote.


Okay. I know someone who really likes optimized programming.
The kind of person who will develop an in-memory compiler
to generate specialized assembly for the exact parameters used,
thus squeezing out a few extra cycles. He works in a C++ company.
They used an idiom, the details of what I don't know. Most
people wouldn't use that idiom because it didn't translate well
to assembly, but the compiler in theory could figure it out. He
submitted a patch to do that optimization. It was originally
rejected because they couldn't see that anyone would write
code that way. He dug around in gcc itself to find some place
which used that code, to show that it is used. It was accepted.

Moral: it's easier to change the technical details (gcc) than
the social ones (getting people to use a better idiom).

That's about all I know of the story.

Andrew
da***@dalkescientific.com
Jul 18 '05 #22
cl****@lairds.com (Cameron Laird) wrote in message news:<vk************@corp.supernews.com>...
In article <3F***************@engcorp.com>,
Peter Hansen <pe***@engcorp.com> wrote:
dan wrote:

However, there are definitely cases where a lot of code would need to
be optimized, and so I ask the question: How fast is Python, compared
to say a typical optimizing C/C++ compiler?


C is roughly 10 to 100 times faster than Python, though of course it's
easy to find cases outside of this range, on either side.

I use 30 as a general overall rule of thumb, in the exceptionally
few cases where it seems relevant how much faster C would be.

And in those very few cases, so far, I have consistently concluded
I'm happy enough with the speed of Python given that the speed of
*development* in Python is easily 5 to 10 times faster than the
speed of development in C. (And again, it's easy to find cases
outside of this range, on either side...)

.
.
I just think Peter's wise counsel bears repeating.

My comment is completely off-topic, but I enjoyed a lyrical moment
when I mis-read Cameron's statement, and found myself imagining what
"Peter's wise counsel bears" looked like. I am envious of Peter,
having never made any magical forest-friends myself.

If we each had at least /one/ wise counsel bear, then c.l.py would
certainly reap the benefits of our enhanced posts!

Yours,

-- Graham
Jul 18 '05 #23
On Wed, 20 Aug 2003 22:00:19 +0000, Andrew Dalke wrote:

Spend a few tens of millions on developing just-in-time compilers
and program analysis. That worked for Java.


Have you heard of Jython - python language running on a java VM? It's kind
of double interpreted - the python source is converted to JVM bytecode,
and then the JVM runs it however that JVM runs bytecode. I guess it should
be many times faster than python because of the JVM performance, and
wopuld be interested to hear any comparisons.

Steve

Jul 18 '05 #24
"Steve Horsley" <st************@virgin.NO_SPAM.net> writes:
Have you heard of Jython - python language running on a java VM? It's kind
of double interpreted - the python source is converted to JVM bytecode,
and then the JVM runs it however that JVM runs bytecode. I guess it should
be many times faster than python because of the JVM performance, and
wopuld be interested to hear any comparisons.


Jython faster than Python? We did little test and it doesn't seem, look:
http://tinyurl.com/liix

--
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rh****@NOSPAMmyself.com
Jul 18 '05 #25
In article <pa****************************@virgin.NO_SPAM.net >, Steve
Horsley <st************@virgin.NO_SPAM.net> writes
On Wed, 20 Aug 2003 22:00:19 +0000, Andrew Dalke wrote:

Spend a few tens of millions on developing just-in-time compilers
and program analysis. That worked for Java.


Have you heard of Jython - python language running on a java VM? It's kind
of double interpreted - the python source is converted to JVM bytecode,
and then the JVM runs it however that JVM runs bytecode. I guess it should
be many times faster than python because of the JVM performance, and
wopuld be interested to hear any comparisons.

Steve

experience with ReportLab suggests jython can be fairly slow compared to
CPython although it does have advantages.
--
Robin Becker
Jul 18 '05 #26
On Fri, 29 Aug 2003, Robin Becker wrote:
experience with ReportLab suggests jython can be fairly slow compared to
CPython although it does have advantages.


The advantages being?

Regards,
Andrew.

--
Andrew I MacIntyre "These thoughts are mine alone..."
E-mail: an*****@bullseye.apana.org.au (pref) | Snail: PO Box 370
an*****@pcug.org.au (alt) | Belconnen ACT 2616
Web: http://www.andymac.org/ | Australia

Jul 18 '05 #27
[Steve Horsley]
Have you heard of Jython - python language running on a java VM?
It's kind of double interpreted - the python source is converted
to JVM bytecode, and then the JVM runs it however that JVM runs
bytecode. I guess it should be many times faster than python
because of the JVM performance, and wopuld be interested to hear
any comparisons.

[Lawrence Oluyede] Jython faster than Python? We did little test and it doesn't seem, look:
http://tinyurl.com/liix


Please bear in mind that the test code included the start up time for
interpreter. For jython, this is a high cost, because starting a JVM
often takes up to 10 seconds or more.

It would probably be fairer to run timings after the VM has already
been through the startup phase. I think that is a more valid
reflection of real-world scenarios where a VM gets started once and
left running for a long time.

regards,

--
alan kennedy
-----------------------------------------------------
check http headers here: http://xhaus.com/headers
email alan: http://xhaus.com/mailto/alan
Jul 18 '05 #28
Andrew MacIntyre <an*****@bullseye.apana.org.au> writes:
The advantages being?


I think gain access to Java stuff is an advantage in some situations,
isn't it?

--
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rh****@NOSPAMmyself.com
Jul 18 '05 #29
Alan Kennedy <al****@hotmail.com> writes:
Please bear in mind that the test code included the start up time for
interpreter. For jython, this is a high cost, because starting a JVM
often takes up to 10 seconds or more.


Yeah, you right. But here comes a question: why do you think that Jython
(and JVM) are faster than Python (and its VM)? In my own little tests is
Jython is always slower and GUI (with Swing) is not responsive as GTK for
example. I think Jython is an amazing and awesome "tool" for Python and
Java developers but I'm not so sure that is also faster than CPython.

Bye!
--
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rh****@NOSPAMmyself.com
Jul 18 '05 #30
gr*************@hotmail.com (Graham Fawcett) writes:
If we each had at least /one/ wise counsel bear, then c.l.py would
certainly reap the benefits of our enhanced posts!


That reminds me of a story I probably read from The Practice of
Programming by Brian W. Kernighan and Rob Pike. In some university
(I've forgotten the name) students doing programming exercises had to
explain their problem to a teddy bear before they could talk to course
staff. This was because often just explaining the problem helped you
to understand the problem and then you could fix it.

--
Juha Autero
http://www.iki.fi/jautero/
Eschew obscurity!
Jul 18 '05 #31
In comp.lang.python, Juha Autero <Ju*********@iki.fi> (Juha Autero) wrote
in <ma**********************************@python.org>: :

|g**************@hotmail.com (Graham Fawcett) writes:
|
|> If we each had at least /one/ wise counsel bear, then c.l.py would
|> certainly reap the benefits of our enhanced posts!
|
|That reminds me of a story I probably read from The Practice of
|Programming by Brian W. Kernighan and Rob Pike. In some university
|(I've forgotten the name) students doing programming exercises had to
|explain their problem to a teddy bear before they could talk to course
|staff. This was because often just explaining the problem helped you
|to understand the problem and then you could fix it.

The term I coined for this is "echo debugging". :)
--
Marc Wilson

Cleopatra Consultants Limited - IT Consultants
2 The Grange, Cricklade Street, Old Town, Swindon SN1 3HG
Tel: (44/0) 70-500-15051 Fax: (44/0) 870 164-0054
Mail: in**@cleopatra.co.uk Web: http://www.cleopatra.co.uk
__________________________________________________ _______________
Try MailTraq at https://my.mailtraq.com/register.asp?code=cleopatra
Jul 18 '05 #32
Marc Wilson wrote:

In comp.lang.python, Juha Autero <Ju*********@iki.fi> (Juha Autero) wrote
in <ma**********************************@python.org>: :

|g**************@hotmail.com (Graham Fawcett) writes:
|
|> If we each had at least /one/ wise counsel bear, then c.l.py would
|> certainly reap the benefits of our enhanced posts!
|
|That reminds me of a story I probably read from The Practice of
|Programming by Brian W. Kernighan and Rob Pike. In some university
|(I've forgotten the name) students doing programming exercises had to
|explain their problem to a teddy bear before they could talk to course
|staff. This was because often just explaining the problem helped you
|to understand the problem and then you could fix it.

The term I coined for this is "echo debugging". :)


I once spent about two hours in a debugging session with a friend.
We were away from the computer, discussing the problem, with a
whiteboard, diagrams, lots of talking.... after we found the
solution I said something about wow, that's great, we solved it.

My friend said, "Peter... _I_ didn't even say anything!". :-)

-Peter
Jul 18 '05 #33

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Andreas Neudecker | last post by:
Hi. I have seen some discussions going on about making Python code faster and several measures looked fairly 'esoteric' to me (i.e.: you need to know a lot of background things to even KNOW...
5
by: K. N. | last post by:
Is there any good and fast Python module for XSLT processing ? I'm going to use XML and XSLT to generate web pages, so I need XSLT processor that will be able to transform for example a DOM object...
11
by: Sebastian Krause | last post by:
Hello, I tried to read in some large ascii files (200MB-2GB) in Python using scipy.io.read_array, but it did not work as I expected. The whole idea was to find a fast Python routine to read in...
114
by: Maurice LING | last post by:
This may be a dumb thing to ask, but besides the penalty for dynamic typing, is there any other real reasons that Python is slower than Java? maurice
7
by: Johnny Lee | last post by:
Hi, First, I want to know whether the python interpreter translate the code directly into machine code, or translate it into C then into machine code? Second, if the codes are translated directly...
21
by: mm | last post by:
(Yes, I konw whats an object is...) BTW. I did a translation of a pi callculation programm in C to Python. (Do it by your own... ;-) -------- Calc PI for 800 digs(?). (german: Stellen) ------...
28
by: windandwaves | last post by:
Can someone tell me why I should learn python? I am a webdeveloper, but I often see Python mentioned and I am curious to find out what I am missing out on. Thank you Nicolaas
71
by: Jack | last post by:
I understand that the standard Python distribution is considered the C-Python. Howerver, the current C-Python is really a combination of C and Python implementation. There are about 2000 Python...
68
by: Santiago Romero | last post by:
( Surely if this question has been asked for a zillion of times... ) ( and sorry for my english! ) I'm impressed with python. I'm very happy with the language and I find Python+Pygame a very...
39
by: cm_gui | last post by:
Python is slow. Almost all of the web applications written in Python are slow. Zope/Plone is slow, sloow, so very slooow. Even Google Apps is not faster. Neither is Youtube. Facebook and...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.