this post was submitted on 26 Mar 2025
13 points (100.0% liked)

Programmer Humor

23606 readers
1586 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] firelizzard@programming.dev 1 points 2 months ago (1 children)

It’s safe to assume that any non-trivial program written in Go is multithreaded

[–] kbotc@lemmy.world 1 points 2 months ago (2 children)

And yet: You’ll still be limited to two simultaneous calls to your REST API because the default HTTP client was built in the dumbest way possible.

[–] LodeMike@lemmy.today 1 points 2 weeks ago (1 children)

The client object or the library?

[–] kbotc@lemmy.world 1 points 2 weeks ago

… Is this a trick question? The object, provided by the library (net/http which is about as default as they come) sets “DefaultMaxIdleConnsPerHost” to 2. This is significant because if you finish a connection and you’ve got more than 2 idles, it slams that connection close. If you have a lot of simultaneous fast lived requests to the same IP (say a load balanced IP), your go programs will exhaust the ephemeral port list quickly. It’s one of the most common “gotchas” I see where Go programs work great in dev and blow themselves apart in prod.

https://dev.to/gkampitakis/http-connection-churn-in-go-34pl is a fairly decent write up.

[–] firelizzard@programming.dev 1 points 2 months ago

Really? Huh, TIL. I guess I've just never run into a situation where that was the bottleneck.