Reference counting time is proportional to data structure sizes on deletion.
You can get a "stop the world" effect with a cascade set of references reaching zero.
You can get a "stop the world" effect with a cascade set of references reaching zero.
The actual garbage collection in all collectors is proportional to the amount of data that needs to be deleted. There are plenty of implementations of refcounting where the data is pushed into a freelist or cleaned up deferred.
Also there are generational tracing compacting collectors with (almost) no pauses, so I doubt such approach wins over them when measuring performance and fragmentation across application usages.
This is false, copying GC is a simple counterexample