This update to gws has improved the IO method, with a peak IOPS increase of about 37% for 1000 connections, reaching 3 times that of gorilla/websocket, and reducing memory consumption to the same level as gorilla/websocket. The details of the improvement are as follows:
- Use io.Reader instead of io.CopyN to read data, avoiding unnecessary allocs
- Use net.Buffers instead of bufio.Writer to write data and reduce memory copies
- Remove bufio.Writer from the connection, mark WriteBufferSize parameter as deprecated
Repo: github.com/lxzan/gws