Re: [Tutor] Any suggestions for optimizing this code?

2005-09-18 Thread John Fouhy
On 19/09/05, grouchy [EMAIL PROTECTED] wrote:
 I've been playing with generating 1-D cellular automata, and this is the
 fastest solution I've come up with so far. 

I haven't dug deep into your code --- but, I wonder if the array
module might help?

-- 
John.
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Any suggestions for optimizing this code?

2005-09-18 Thread grouchy
Hi John,Thanks for that suggestion.I tried replacing my matrix with a numpy array, and it was about 20% slower, but I just substituted one for the other, so that really isn't surprising. I didn't try with the built-in array, but I'm guessing that swapping out another container for lists would only have a chance of speeding it up by a constant amount, I think, since setting and getting list elements is O(1).

Having said that, I forgot arrays existed. I will take a look right now, and look at their methods, see if there is anything in there I can dig up to help above and beyond a new container.I think, conceptually, I need to make the sliding window more efficient by not getting overlapping elements repeatedly, or maybe figuring out a way to skip the conversion from bits to integers. I tried storing as strings, and doing a join to get 
i.e. 110 and using that as a key to look up 1 or 0, but it was miserably slow :)The ~15x speedup from psyco makes me think if there was a built-in function that could handle everything in one fell swoop with tight C code, that would probably speed it up a -lot-. But I haven't found anything like that for a sliding window type situation.
On 9/18/05, John Fouhy [EMAIL PROTECTED] wrote:
On 19/09/05, grouchy [EMAIL PROTECTED] wrote: I've been playing with generating 1-D cellular automata, and this is the fastest solution I've come up with so far.
I haven't dug deep into your code --- but, I wonder if the arraymodule might help?--John.___Tutor maillist-
Tutor@python.orghttp://mail.python.org/mailman/listinfo/tutor
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor