Talk:Wireworld: Difference between revisions

Undo revision 86729 by 188.187.77.237 (Talk)
(Undo revision 86729 by 188.187.77.237 (Talk))
 
(4 intermediate revisions by 4 users not shown)
Line 15:
:Hi Michael, check your installation as I just executed it on Python 2.6 and 3.1 on Windows. It uses only standard modules, and I would expect it to work, unchanged, on full installations of those versions of Python on Mac and *nix too. --[[User:Paddy3118|Paddy3118]] 07:05, 10 September 2009 (UTC)
::It does use the namedtuple class factory though, which is new to 2.6 and 3.x. --[[User:Paddy3118|Paddy3118]] 07:14, 10 September 2009 (UTC)
 
== Performance ==
 
Many years ago, I built an implementation of this task in [[Pascal]] (specifically Turbo Pascal) that used a number of tricks to go much faster. The source to that code is now long lost, but IIRC it used a ring-buffer of cell coordinates so that scans through the set of cells only needed to handle those cells with potential to change. This meant that the code could rapidly (15-20fps) process problems up to about the 300k cell mark (i.e., 640x480) which was a size capable of performing interesting calculations. Not bad for a 16MHz 386SX computer with less than 640kB available memory. :-) I do ''not'' remember all the details, but I presume that someone will be able to use this sort of hint/memory to come up with something equally amazing. —[[User:Dkf|Donal Fellows]] 19:45, 10 September 2009 (UTC)
 
: Well, for a start You only ever need to keep track of the positions of electron heads and tails. You can implement the whole thing quite efficiently with just two lists, swapping their purpose every time. Mark all electron tails as wire and empty the list. Scan around the electron heads for wire to change it to electron head, note each position you do this in in the first list and change the original electron head to tail. Then swap the two lists. Iirc a WW simulator implemented in C I've seen worked like this. —[[User:Hypftier|Johannes Rössel]] 21:10, 14 July 2010 (UTC)
 
== Common Lisp Formatting ==
It could have done with some separation between each frame? --[[User:Paddy3118|Paddy3118]] 06:25, 21 December 2009 (UTC)
Anonymous user