4 ms·
Are you afraid of RC? Everything in Swift is RC, but opaquely.
by worik 4y ago
Are you afraid of RC?
Everything in Swift is RC, but opaquely.
- pjmlp 4y agoWith the small difference that Swift compiler is RC aware and optimizes them away, unlike Rust, first point. Second point, exactly because it is opaque, its ergonomics are way better than Rust code. No Rc, Arc, RefCell, clone(), Pin, pollution across the source code.
- buildartefact 4y agoOptimises what away exactly?
- pjmlp 4y agoThe reference counting code that can be proven to be unnecessary, given the execution flow of the code. Rustc doesn't possess such knowledge about library types.
- dataangel 4y agoRust is capable of eliminating unnecessary count increments and decrements for Rc fairly often. The compiler doesn't usually need specific knowledge -- if there is a +1 and then a -1 LLVM is smart enough to cancel that out on its own. I'd actually be curious to see examples where it doesn't.
- pjmlp 4y agoMe too, because that is the usual hoping the compiler does the right thing, tied to LLVM, and not part of language semantics.
- buildartefact 4y agoI mean, how often are you cloning an Rc? It’s not like c++ where passing a shared_ptr to a function is going to copy it. Most of the time you’re going to move it.
- pjmlp 4y agoIn GUI designers, everywhere.