I'm certainly trying to learn Golang. I know the differences between parallelism and concurrency. I basically look for how to do great parallelism. I expected goroutines to allow me to do that in some way. However, it looks like since 1.5 GOMAXPROCS is set to the number of cores. Does that mean that since 1.5 goroutines are basically parallel!?
Every question I research on sites like StackOverflow are mostly outdated, and don't take into account the 1.5 change. See: Parallel processing in golang
Running the following code doesn't achieve parallelism in Go 1.10: https://play.golang.org/p/24XCgOf0jy5
Setting up GOMAXPROCS to 2 doesn't change the output, purely concurrent instead of parallel.
I'm running this on a FX-6300 8 core system.
Edit: For future reference in case someone encounters this question:
I got carried away by this blog: https://www.ardanlabs.com/blog/2014/01/concurrency-goroutines-and-gomaxprocs.html where parallelism is fully done without much trouble in a small for-loop.
I should've also pointed out that I'm using the playground to share code, not to actually run it there.
The answer by @peterSO is completely valid, for whatever reason, in Go 1.10 the same behaviour as the blog can not be fully replicated.
If you want to learn more, check out @kostix comment on the main question, that has provided updated information (as of 03/18) on the topic pointing out that goroutines are fully parallel since the very start of Go, the only difference with 1.5 was the GOMAXPROCS setting.