Based on the graph, does this mean that to speed-up your code even further, it is important to ensure that the compiled assembly code is as short as possible? And are there languages which do that?
In most cases, the limiting factor will be memory accesses rather than instruction supply. I imagine reducing the number of instructions would only make a large difference in very specific applications.
Can confirm bitcoin mining ASIC's are >1000x faster than GPU's, the code is not compute bound and taking the sha256 hash of a block header only involves integer math.
A little curious about the choice between ASIC and CPUs / GPUs: is it OS 's responsibility to choose use whether CPU / GPU / ASIC, or programers' responsibility, or special drivers?
@Intergalatic. Curious, why do you say bitcoin mining is not a compute bound operation?