Skip to content

Releases: bettermanbao/openwrt-kcptun

累计优化

21 Feb 14:49
Compare
Choose a tag to compare
  1. eliminate spurious wake up of writeable events.
  2. eliminate atomic stalls when no snmp info needs update for each interval.
  3. only trust window update from regular packets, not FEC packets.

$ go version
go version go1.4.2 linux/amd64

xtaci/kcptun@2f0783f
xtaci/kcp-go@39bec2a
xtaci/smux@949ec4d

RTT算法优化-Round-3

06 Feb 02:15
Compare
Choose a tag to compare
  1. 只使用session定时器,避免kcp_update的thresh抖动。
  2. rto计算中的clock granularity设置为 interval值。
  3. 去掉rtomin的硬性限制。
  4. 对于单个数据包中的所有ack,只使用最后一个ack计算rto。
  5. -datashard/-parityshard 增加 -ds -ps 简写

$ go version
go version go1.4.2 linux/amd64

xtaci/kcptun@4683149
xtaci/smux@d1bdf08
xtaci/kcp-go@6da5044

RTT算法优化-Round-2

20 Jan 02:02
Compare
Choose a tag to compare

ack结构中更准确的RTT估算。
锁优化,更平滑的rtt计算jitter。

$ go version
go version go1.4.2 linux/amd64
xtaci/kcptun@2f11f13
xtaci/smux@d1bdf08
xtaci/kcp-go@86aa2c9

Reduce FEC memory usage

18 Nov 05:27
Compare
Choose a tag to compare
  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

Reduce sending of unnecessary acks

14 Nov 03:48
Compare
Choose a tag to compare
  1. Reduce sending of unnecessary acks. (#267)

$ go version
go version go1.4.2 linux/amd64
xtaci/smux@60c611f
xtaci/kcp-go@ffaad6e
xtaci/kcptun@229a4a8

Bring Back Early Retransmit, with Stricter Criterion

07 Nov 02:37
Compare
Choose a tag to compare
  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

Optimizations on CPU Usage

03 Nov 01:12
Compare
Choose a tag to compare
  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

Even more optimizations on memory

31 Oct 01:57
Compare
Choose a tag to compare

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)

Reduce memory footprint

26 Oct 05:08
Compare
Choose a tag to compare
  1. Reduce memory footprint from smux.
  2. Remove Early Retransmit, it's replaceable with FEC , like increasing parityShard/dataShard ratio higher to 5:5.

SMUX optimize-II

14 Sep 06:50
Compare
Choose a tag to compare
  1. faster stream.Write() in smux
  2. api optimize in kcp-go