Skip to content

Latest commit

 

History

History
17 lines (14 loc) · 875 Bytes

README.md

File metadata and controls

17 lines (14 loc) · 875 Bytes

Python code to run Rule 110 sequentially and in parallel.

I wrote this because I was wondering how much of a speedup you get from executing Rule 110 in parallel processes, given that a lot of communication between processes is necessary because of how the rules work. As it turns out, there is still a substandial speedup from using multiple processes even for pretty small inputs (>1000-cell tape with a few thousand iterations).

The file rule_110.py contains two implementations of Rule 110 (one that runs in a single process, one that runs in multiple processes) and a simple benchmark test that you can play with.

Coming soon, maybe:

  • Re-implementation in a lower-level language (C or Rust) with shared memory
  • Additional parallelization algorithm that I have in mind, which is greedier than the one implemented here