[Tutor] Any suggestions for optimizing this code?
grouchy
grouch at gmail.com
Mon Sep 19 07:16:36 CEST 2005
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 <john at fouhy.net> wrote:
>
> On 19/09/05, grouchy <grouch at gmail.com> 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 at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20050919/f99946e2/attachment.html
More information about the Tutor
mailing list