this post was submitted on 05 Jul 2025
314 points (98.5% liked)

Programmer Humor

24957 readers
2568 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
[–] magic_lobster_party@fedia.io 18 points 1 week ago (6 children)

I’m a OOP programmer.

I wrap everything within Arc<Mutex<>>.

I’m a happy dev.

[–] mholiv@lemmy.world 11 points 1 week ago* (last edited 1 week ago) (5 children)

I mean yah. That’s what it takes. But like when I try to write code around Arc<_> the performance just tanks in highly concurrent work. Maybe it’s an OOP rust skill issue on my end. Lol.

Avoiding this leads, for me at least, to happiness and fearless, performant, concurrent work.

I’m not a huge fan of go-lang but I think they got it right with the don’t communicate by sharing memory thing.

[–] PlexSheep@infosec.pub 1 points 1 week ago (4 children)

You mean mutex? Arc allows synchronous read only access by multiple threads, so it's not a performance bottleneck. Locking a mutex would be one.

[–] tatterdemalion@programming.dev 5 points 6 days ago (1 children)

Arc is not free, and the extra atomic operations + heap allocations can become a bottleneck.

[–] PlexSheep@infosec.pub 1 points 5 days ago (1 children)

Oh, I did not know that. Well, it makes sense that it has a heap allocation, as it becomes more or less global. Though not sure why the atomic operations are needed when the value inside is immutable.

[–] Miaou@jlai.lu 1 points 5 days ago

How can you otherwise keep track of an object's lifetime if copies are made concurrently?

load more comments (2 replies)
load more comments (2 replies)
load more comments (2 replies)