Reduce FEC memory usage

@bettermanbao bettermanbao released this Nov 16, 2016 · 10 commits to master since this release

  1. Reduce FEC memory usage(>30%), limited FEC queue to 3 * (dataShard+parityShard) packets.

$ go version
go version go1.4.2 linux/amd64
xtaci/smux@b4a6fb8
xtaci/kcp-go@2a9a3f7
xtaci/kcptun@229a4a8

Downloads

Bring Back Early Retransmit, with Stricter Criterion

@bettermanbao bettermanbao released this Nov 3, 2016 · 17 commits to master since this release

  1. Bring Back Early Retransmit, with Stricter Criterion

(STRONGLY RECOMMENDED FOR UPGRADING)

$ go version
go version go1.4.2 linux/amd64
xtaci/smux@ee8b5b5
xtaci/kcp-go@bba2d62
xtaci/kcptun@8e74cf4

Downloads

Optimizations on CPU Usage

@bettermanbao bettermanbao released this Jul 4, 2016 · 19 commits to master since this release

  1. improve xor.go performance by re-organizing code layout.
  2. dramatically reduce zero-ing operations in FEC.

$ go version
go version go1.4.2 linux/amd64
xtaci/smux@ee8b5b5
xtaci/kcp-go@7112c1c
xtaci/kcptun@4ccc922

Downloads

Even more optimizations on memory

@bettermanbao bettermanbao released this Jul 4, 2016 · 19 commits to master since this release

Reduce memory footprint from kcp-go.

(https://github.com/xtaci/kcp-go/blob/master/kcp.go#L204)

xmitBuf is shared among sess.go/fec.go/kcp.go.

cacheline optimized fecgroup.

(STRONGLY RECOMMENDED FOR UPGRADING)

Downloads

Reduce memory footprint

@bettermanbao bettermanbao released this Jul 4, 2016 · 19 commits to master since this release

  1. Reduce memory footprint from smux.
  2. Remove Early Retransmit, it's replaceable with FEC , like increasing parityShard/dataShard ratio higher to 5:5.

Downloads