Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid allocating unnecessary slices #2

Open
thani-sh opened this issue Sep 8, 2015 · 0 comments
Open

Avoid allocating unnecessary slices #2

thani-sh opened this issue Sep 8, 2015 · 0 comments

Comments

@thani-sh
Copy link
Contributor

thani-sh commented Sep 8, 2015

In Conn.Read function it always creates a new slice to read data. Reducing allocations can save significant amount of cpu time (alloc cpu time + gc cpu time). Instead of doing this, get a slice as an argument and read data into that slice. Also consider that the slice may not have enough space, therefore always return the slice with data which may or may not be the slice provided by the user.

This changes the method signature to:

func (c *Conn) Read(d []byte) (b []byte, err error)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant