Get the latest tech news

Golang is evil on shitty networks (2022)


This adventure starts with git-lfs. It was a normal day and I added a 500 MB binary asset to my server templates. When I went to push it, I found it interesting that git-lfs was uploading at 50KB p…

Further, this “trick” has probably wasted hundreds of thousands of hours while transferring data over unreliable links (such as getting stuck in TCP slow start, saturating devices with “tinygram” packets, etc). That code was in turn a loose port of the dial function from Plan 9 from User Space, where I added TCP_NODELAY to new connections by default in 2004 [1], with the unhelpful commit message “various tweaks”. I have a vague memory of discussing it with Dave Presotto (our local networking expert, my officemate at the time, and the listed reviewer of that commit) which is why we ended up with SetNoDelay as an override from the very beginning.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of golang

golang

Photo of shitty networks

shitty networks

Related news:

News photo

Show HN: WAL Implementation in Golang

News photo

Show HN: A Golang CP/M emulator