We spend a bunch of time during the build compressing PDB files with makecab so that they're smaller for developers to download when debugging. This is generally pretty important--a recent Nightly xul.pdb I downloaded is 176MB compressed, and 632MB uncompressed. However, when we upload the symbols to the symbol server, we stick them all in a zip anyway, and the symbol server already does some work to gzip-compress .sym files before storing them in s3 (so they can be served with Content-Encoding: gzip), so maybe we can just put the .pdb files directly in the zip, and make the symbol server run makecab on them before putting them in s3. Since the zip is compressed anyway they should compress roughly the same amount. We're using MS-ZIP compression with makecab, which is just DEFLATE the same as zip.
My recollection of the times involved is that this could save dozens of seconds of CPU for builds. Just as long as the compression isn't done at HTTP request time as part of the upload.
Symbol uploads are done as a separate post-upload task anyway, but AFAIK peterbe said that the .sym compression + upload to s3 happens asynchronously after a zip file POST is accepted.