KernelPanic@programming.dev to Programmer Humor@programming.devEnglish · 5 months agoLearning to program in rustprogramming.devvideomessage-square52fedilinkarrow-up1272arrow-down15
arrow-up1267arrow-down1videoLearning to program in rustprogramming.devKernelPanic@programming.dev to Programmer Humor@programming.devEnglish · 5 months agomessage-square52fedilink
minus-squarePlexSheep@infosec.publinkfedilinkarrow-up1·5 months agoYou 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·5 months agoArc is not free, and the extra atomic operations + heap allocations can become a bottleneck.
minus-squarePlexSheep@infosec.publinkfedilinkarrow-up1·5 months agoOh, 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-squaremholiv@lemmy.worldlinkfedilinkarrow-up3·edit-25 months agoI 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.
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.