by daniel_rh on 8/4/2020, 5:04:44 PM
by manigandham on 8/4/2020, 10:11:10 PM
This is why I continue to use Dropbox for daily work and constantly changing files. The syncing is unmatched. It’s surprising how bad the others like OneDrive and google drive are in comparison.
by AaronFriel on 8/4/2020, 5:35:48 PM
I'm more of a security-focused engineer so I'm most interested in the "specially crafted low-privilege jail". What protocol gets data in and out, not shared memory I'm sure? Do the jail processes also have to implement an RPC server (protobuf/gRPC/HTTP?) or is there another mechanism for giving them work and receiving results?
by rspoerri on 8/4/2020, 5:58:55 PM
In my opinion broccoli does not go so well with bread (brötli = bread roll in swiss german), so some more matching name suggestions are: gipfeli (Croissant), weggli, pfünderli (500g bread), bürli, zöpfli
:-)
by kevincox on 8/4/2020, 5:29:12 PM
The header on the page keeps hiding and reappearing as I scroll making it incredibly difficult to read.
by vmchale on 8/4/2020, 8:55:24 PM
Surprised they didn't look more at zstd.
IME it's faster than brotli and often has a better compression ratio.
by lifthrasiir on 8/5/2020, 4:52:44 AM
> Maintaining a static list of the most common incompressible types within Dropbox and doing constant time checks against it in order to decide if we want to compress blocks
There is also a format-agnostic and adaptable heuristic to stop compression if the initial part (say, first 1MB) of the file seems incompressible. I'm not sure whether this is widespread, but I've seen at least one software doing that and it worked well. This can be combined with other kinds of heuristics like entropy estimation.
by no_wizard on 8/4/2020, 11:35:00 PM
This is a really interesting write up of their use of Brotli! Makes me wonder if there might be a novel way I could leverage it beyond HTTP Responses.
I never realized the advantages of brotli over zlib could be so extensive, in particular, it appears they're getting a huge speed boost (I think also in part that its written in Rust)
>we were able to compress a file at 3x the rate of vanilla Google Brotli using multiple cores to compress the file and then concatenating each chunk.
Side note: I admit, at first I thought they were talking the Broccoli build system[0]
by jeffbee on 8/5/2020, 3:44:03 AM
The tradeoff between client CPU time and upload speed is interesting. If they need to be able to output compressed text at 100mbps, that gives a budget of ~100ns/byte, or pretty much what they would have been spending with zlib in the first place. But on my fiber connection I only have a budget of 10ns/byte. Does that mean you'd use the equivalent of `brotli -q 1` for me? If so, doesn't the march of progress continually erode the advantages of compression in this use case?
by shadykiller on 8/4/2020, 9:20:31 PM
Is it possible to use this as rsync replacement ?
by lanius on 8/5/2020, 4:54:04 AM
Is there a pun between Broccoli and Brotli I'm not aware of? There's another Brotli compression tool called Broccoli (written in Go), just a coincidence?
by tyingq on 8/4/2020, 8:27:38 PM
Curious if there's enough of any one type of file that a specialty compression for it would be worth the added complexity.
by andrewshadura on 8/4/2020, 10:07:35 PM
I wonder whether syncthing can use it.
by Scaevolus on 8/4/2020, 5:18:12 PM
None of the images are loading. :(
by rmhorn on 8/4/2020, 5:39:53 PM
Good supporting data
by myrloc on 8/4/2020, 11:02:16 PM
Middle out compression has shown considerable performance over the investigated options listed in the article. I wonder why it was not mentioned?
Just kidding :) great article. As others have said, supporting data was very informative.
Hi folks, I'm Daniel from Dropbox, and I am happy to answer any questions about this tech.