How did you compile the C++ executable? I assume that it is Release mode? Then are the optimization switches enabled? Is it compiled as Native Win32 or Managed application?
I suspect that other than what other posters have suggested about your code, the difference in speed is due to the way you build your C++ executable... HTH, Ray Licheng Fang wrote: > Hi, I'm learning STL and I wrote some simple code to compare the > efficiency of python and STL. > > //C++ > #include <iostream> > #include <string> > #include <vector> > #include <set> > #include <algorithm> > using namespace std; > > int main(){ > vector<string> a; > for (long int i=0; i<10000 ; ++i){ > a.push_back("What do you know?"); > a.push_back("so long..."); > a.push_back("chicken crosses road"); > a.push_back("fool"); > } > set<string> b(a.begin(), a.end()); > unique_copy(b.begin(), b.end(), ostream_iterator<string>(cout, "\n")); > } > > #python > def f(): > a = [] > for i in range(10000): > a.append('What do you know') > a.append('so long...') > a.append('chicken crosses road') > a.append('fool') > b = set(a) > for s in b: > print s > > 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? -- http://mail.python.org/mailman/listinfo/python-list