title: Parallel zip compression in Go
body: <p>I am trying build a <code>zip</code> archive from a large number of small-medium sized files. I want to be able to do this concurrently, since compression is CPU intensive, and I'm running on a multi core server. Also I don't want to have the whole archive in memory, since its might turn out to be large.</p>
  
  <p>My question is that do I have to compress every file and then combine manually combine everything together with zip header, checksum etc? </p>
  
  <p>Any help would be greatly appreciated.</p>