-
Notifications
You must be signed in to change notification settings - Fork 37
Listing possible chunking algorithm #7
Comments
Could you explain what you mean by "static" and "dynamic" in this context? |
Static as in uniformal chunk size, dynamic as in Rabin-Karp or other algorithms that chunks using something context aware or uses a "sliding window" technique for chunking See: https://github.com/YADL/yadl/wiki/Rabin-Karp-for-Variable-Chunking |
Ah. Yes, we actually have both. You can find the different splitters listed in the godoc: https://godoc.org/github.com/ipfs/go-ipfs-chunker. |
(closing for tracking purposes, feel free to ask followup questions and/or reopen) |
@Stebalien I have heard from @flyingzumwalt that dynamic chunking does not work, possibly due to the blocks being too large or that there are better algorithms for doing dynamic chunking. |
Dynamic chunking does work. There are better algorithms but the current algorithm definitely works (well, as long as the data isn't compressed). |
So what is the default chunk size in dynamic chunking? Also, has there been any benchmarks that proves the chunker works? References: ipfs-inactive/archives#134 ipfs-inactive/archives#142 ipfs/notes#183 restic/chunker#19 ipfs-inactive/archives#137 |
256KiB (same as the static chunker) with a min of 85KiB and a max of 512KiB.
Published? Not that I know. I've seen several of those threads but both @jbenet and I have tested rabin locally and it seems to work quite well on some workloads (but not others). Specifically, he was able to significantly compress his collection of keynote presentations. (better chunkers and better benchmarks would, of course, be welcome) |
@Stebalien ipfs-inactive/archives#142 has notes on "content specific chunking"
Also some alternatives like Asymmetric Extremum exists
And http://www.ijarcsms.com/docs/paper/volume4/issue6/V4I6-0021.pdf gives a lot of good info |
Hi, I found an open source implementation on FastCDC in Golang, maybe it's helpful :) https://github.com/tigerwill90/fastcdc |
Does it have static chunking and dynamic chunking algorithms?
The text was updated successfully, but these errors were encountered: