KernelPanic@programming.dev to Programmer Humor@programming.devEnglish · 10 个月前Learning to program in rustprogramming.devvideomessage-square58linkfedilinkarrow-up1321arrow-down15
arrow-up1316arrow-down1videoLearning to program in rustprogramming.devKernelPanic@programming.dev to Programmer Humor@programming.devEnglish · 10 个月前message-square58linkfedilink
minus-squarePlexSheep@infosec.publinkfedilinkarrow-up1·10 个月前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.
minus-squaretatterdemalion@programming.devlinkfedilinkarrow-up5·10 个月前Arc is not free, and the extra atomic operations + heap allocations can become a bottleneck.
minus-squarePlexSheep@infosec.publinkfedilinkarrow-up1·10 个月前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.
minus-squareMiaou@jlai.lulinkfedilinkarrow-up1·10 个月前How can you otherwise keep track of an object’s lifetime if copies are made concurrently?
minus-squaremholiv@lemmy.worldlinkfedilinkarrow-up3·edit-210 个月前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.
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.
Arcis not free, and the extra atomic operations + heap allocations can become a bottleneck.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.
How can you otherwise keep track of an object’s lifetime if copies are made concurrently?
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.