Python and STL efficiency
Jeremy Sanders
jeremy+complangpython at jeremysanders.net
Mon Aug 21 09:09:18 EDT 2006
Licheng Fang wrote:
> I was using VC++.net and IDLE, respectively. I had expected C++ to be
> way faster. However, while the python code gave the result almost
> instantly, the C++ code took several seconds to run! Can somebody
> explain this to me? Or is there something wrong with my code?
It must be the debugging, the compiler or a poor STL implementation. With
gcc 4 it runs instantly on my computer (using -O2), even with 10x the
number of values.
If the problem is that C++ has to make lots of new strings, as other posters
have suggested, then you could do something like
const string foo = "What do you know?";
for (long int i=0; i<10000 ; ++i){
a.push_back(foo);
...
}
as many C++ implementations use reference counting for identical strings.
Jeremy
--
Jeremy Sanders
http://www.jeremysanders.net/
More information about the Python-list
mailing list