4 ms·
Reading some of the go programs, they do not appear to be configured to take advantage of more than one core.
by carbocation 14y ago
Reading some of the go programs, they do not appear to be configured to take advantage of more than one core.
- igouy 14y agoPlease -- no generalities -- provide a URL so we can all see what you are looking at, and reach our own understanding.
- carbocation 14y agoOK, here's the first program on the list provided by trailfox: http://benchmarksgame.alioth.debian.org/u32q/program.php?test=fastaredux&lang=go&id=2 http://benchmarksgame.alioth.debian.org/u32q/program.php?tes... Note that: 1) It only ever uses one core, because 2) It isn't configured with GOMAXPROCS, which therefore defaults to 1. So, sure, they have an N-core machine, but they're only allowing go to access 1 core.
- igouy 14y ago>>but they're only allowing<< Notice on the list provided by `trailfox` the "≈ CPU Load" column -- when the programs are written to use 4 cores "they're" allowing Go to access 4 cores.
- carbocation 14y agoNo. Go programs currently require a one-line instruction to tell them how many cores to use. Without that one line, they will only use one core. The go program in question was written without that instruction; therefore, it's only allowed to use one core.
- igouy 14y ago>only allowed to use one core< Only "allowed" by who? If you mean that "the Go program in question" is by-design a sequential program then -- yes of course it is! The contributed Go programs that were written for multi-core use more than one core -- http://benchmarksgame.alioth.debian.org/u32q/program.php?test=fannkuchredux&lang=go&id=1 http://benchmarksgame.alioth.debian.org/u32q/program.php?tes...