I've open sourced jcp, my rsync-like file transfer library and CLI. By using Go's fabulous multicore support, jcp can do diff-only filesystem syncs up to 3x faster than rsync (which is a single threaded C program). It uses a parallelized version of the FastCDC algorithm with a Gear table to ship only the changes, even in binaries.
https://github.com/glycerine/jcp >From the README: This project (jcp) was written to harden and polish my RPC system, https://github.com/glycerine/rpc25519 , whose high-performance and novel Peer/Circuit/Fragment paradigm is featured here. In this evolution of RPC, peers communicate fragments of infinite data streams over any number of persistent circuits. Since the roles are peer-to-peer rather than client-server, any peer can run the code for any service (as here, in the jcp case, either end can give or take a stream of filesystem updates). Enjoy. - Jason -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/b9d1ffb5-a13b-45f0-b82c-351eaf74631en%40googlegroups.com.