提高fmt.Println的速度

I have a prgram that on certain occasions needs to print 8^20 lines, which takes upward of 30 seconds, I was wondering if it was possible to somehow "buffer" the output to os.Stdout and flush the output at the end of the algorithm. I've tried using os.Pipe as os.Stdout, but that did not increase the speed of the prints.

Is there a way to accomplish that without replacing fmt.Println()?

The idea is to "compile" the format strings which supposedly never change. For example, see https://github.com/larytet/binlog