use runtime.NumCPU() as default worker count