3 ms·
Different approaches to memory management differ in extent of how much of programmer's job they automate. Garbage collectors are fully automatic and rarely if
by hamstergene 10y ago
Different approaches to memory management differ in extent of how much of programmer's job they automate.
Garbage collectors are fully automatic and rarely if ever require to mind anything; automatic RC does almost everything but requires programmer to analyze and annotate some things as 'weak'; manual RC requires a lot more programmer's effort while still technically being "automatic"; and manual memory management means the programmer does everything.
Automatic/manual is a scale, not a boolean yes/no, and the point is that ARC lies on it a bit closer to manual than garbage collectors.
- pjmlp 10y agoThe thing is, ARC is a garbage collection algorithm. There isn't anything like ARC vs GC, that is layman knowledge and just wrong from CS point of view.
- hamstergene 10y agoARC is not an algorithm, it a language-level feature that generates retain/release calls automatically so that the programmer does not have to. Unlike GC systems where the resulting program does run an algorithm (and wastes CPU on that), with ARC the generated program is no different as if retain/release were written manually and runs no extra code.