Graham Jenson
Aug 22, 2021

--

1. Golang implementation is multi CPU (I use the goroutines with the `go` keyword to split amongst CPUS.

2. Slices in Golang are basically pointers as they don't make a copy of the world when passing to a function. So making world a pointer wouldn't improve performance much (if any)

3. There is no well written Golang app that would be faster than a CUDA app for GOL. These are two completely different tools, and it is an unfair comparison (which I acknowledge in the post). Using the right tool for the job is important.

The code is there and I will run any changes you submit via PR and publish those results if they are a significant improvement. The post I link to in the article has even further CPU and CUDA performance improvements you might like to read about, including 60x performance improvements for CPU.

--

--

Graham Jenson
Graham Jenson

Written by Graham Jenson

New Zealand Programmer, Dad, DevOps, Data, Scale Everything

No responses yet