this post was submitted on 05 Jul 2025
308 points (99.0% liked)

Programmer Humor

24892 readers
1133 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
[–] [email protected] 1 points 4 days ago (2 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.

[–] [email protected] 5 points 3 days ago (1 children)

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

[–] [email protected] 1 points 3 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.

[–] [email protected] 1 points 3 days ago

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

[–] [email protected] 3 points 4 days ago* (last edited 4 days ago)

I mean it could be Mutex, or Rwlock or anything atomic. It’s just when I have to put stuff into an Arc<> to pass around I know trouble is coming.