Basic premise; see how faster a bit of Go routines would make a simple program. Copy - Paste from the reddit thread I made for this project:
---
First, I do not have a Parallella - so I'm using the numbers from this talk:
Parallella Demonstration
The gist of it is, it got 2 ARM cores and 16 custom RISC cores - and testing it they run a program written in C to test performance running in serial (on one ARM CPU core) and then in parallel (on all 16 risc cores). Both times finding the prime numbers between 0 and 16 million.
Results are:
Also a shoutout to /u/siritinga who helped me getting it working as intended and as efficiently as possible.
Full source (and a native ARM rPi binary if not wanting to compile yourself) on github
Final on Raspberry Pi 3 result was:
edit: Upping the number of Go Routines to 16 reduced the result down to 53 seconds - shaving 5 seconds or nearly 10% off from when only running 4 Go Routines.
Will look into actual optimizations rather than just throwing more threads at the problem...
Parallella Demonstration
The gist of it is, it got 2 ARM cores and 16 custom RISC cores - and testing it they run a program written in C to test performance running in serial (on one ARM CPU core) and then in parallel (on all 16 risc cores). Both times finding the prime numbers between 0 and 16 million.
Results are:
- Serial: ~4min
- Parallel: ~18sec
Also a shoutout to /u/siritinga who helped me getting it working as intended and as efficiently as possible.
Full source (and a native ARM rPi binary if not wanting to compile yourself) on github
Final on Raspberry Pi 3 result was:
- Serial: ~2min19sec
- Parallel: ~58sec
edit: Upping the number of Go Routines to 16 reduced the result down to 53 seconds - shaving 5 seconds or nearly 10% off from when only running 4 Go Routines.
Will look into actual optimizations rather than just throwing more threads at the problem...