GC implementations tend to make allocation and deallocation significantly
more efficient (in the immediate sense at least). If you allocate and
deallocate a million individual small objects in C++ at random, it will
be really slow (which is why you generally want to avoid doing that
like the plague), while in languages like Java and C# it's a complete
non-issue.
Also, handling reference-counted pointers adds a layer of overhead
which doesn't need to exist in a GC'd environment (each time you copy
or assign a reference-counted pointer, there's an additional step
involved, which isn't so in GC'd environment. This is also why you
generally want to avoid reference-counted smart pointers in C++
if it's reasonable to do so, at least in situations where such
pointers are copied and assigned around a lot.)
Also, many/most GC language implementations allow for optimization
techniques that are simply not possible in C/C++, such as memory
compaction (which helps with memory fragmentation and cache
locality).
A lot of work has been done over the decades to make the garbage
collection sweeping process as light-weight as possible, and have
as little impact as possible on the performance of the program.
I haven't followed how well they have succeeded in this, however.
That being said, there are of course compromises with GC. Programs
written in GC'd languages tend to consume more memory than eg.
C++ programs that have even a modicum of memory usage optimality
(because in C++ you can handle objects by value instead of being
forced to allocate every single object dynamically). C++ often
allows for low-level ("hacker") optimizations to make programs
more efficient in terms of speed and memory usage, which many
"higher-level" GC'd languages simply don't support.
OTOH, many advocates of GC'd (so-called "safe") languages are
completely ready to pay that small price for the commodity
of not having to think about memory management and let the
language and runtime environment take care of it, even if
it means slightly increased memory usage and perhaps a bit
slower of a program.