Enormous Input and Output Test
Irmen de Jong
irmen.NOSPAM at xs4all.nl
Sat Oct 10 13:51:18 CEST 2009
John Yeung wrote:
> P.S. I hope people realize that the concise, intuitive, readable
> answers we all tried in our first couple of (failed) attempts are much
> more Pythonic than the beasts that were created just for SPOJ.
Well, it is not often that we need to micro optimize stuff (or how would you call it) in
Python, but this was a fun exercise to do that. You need to think about the small tricks
that you can use to speed up your code. And then you come up with things like:
- avoid method/function calls
- use table lookups instead of computation
- use iterators
- use tools like psyco to help you out in the odd case where the above doesn't cut it
These things are useful to keep in mind also in general I think!
PS the actual loop of my solution isn't that much bigger than it was in my first, most
readable, attempt. But I think that has everything to do with the complexity of the
task: it is very simple. Ofcourse I cannot speak about the implementation of the
solutions that are still faster by a factor of 2...
More information about the Python-list