Command line flag to disable HTTP compression.#374
Command line flag to disable HTTP compression.#374ipopov wants to merge 1 commit intoprasmussen:masterfrom
Conversation
Command line flag to disable HTTP compression. * git://github.com/prasmussen/gdrive: Command line flag to disable HTTP compression.
|
For some unknown go reason I can't build your branch, or when applied to master, as go doesn't pick up that the function prototypes in 'auth/oauth.go' have changed, and keeps wanting the old ones. Any tricks to make it build? |
|
Hi, picaro8, Yes, I see what you're talking about. I believe the problem is with the "vendoring" approach that the gdrive project has taken- namely, that many of the imports are not relative, but absolute imports. (e.g. "github.com/prasmussen/gdrive/auth" instead of "./auth". Thus, the patch only works when applied to prasmussen's master. You can apply it as follows: go get github.com/prasmussen/gdrive Please let me know if that worked! I'm not a big enough Golang expert to fix this more elegantly. I hope that the request can just get merged in, and we won't have this problem anymore. |
When you're on a machine with extremely high bandwidth to Google, and limited CPU, disabling gzip-compression can improve throughput by 10x. Specifically, this makes gdrive run much much faster on Google Compute Engine virtual machines.
The effect of this change is that the --disable-compression flag unsets the "Accept-Encoding: gzip" header in HTTP requests.
In my tests, gzip compression limits throughput to 20-30MB/s, whereas uncompressed transfers can reach 300MB/s.
Note that, if you want to reproduce this experiment, you should do so with a large file: in my experience, Drive never gzip-compresses downloads in the tens of GBs, but does gzip-compress a 200GB file.