Swift's GC is really a lot closer to modern C++ style memory management than the other languages you mentioned. If you use RAII & shared_ptr in C++ you are using the exact same techniques that Swift's "GC" uses.
>A total of 76% of the CPU time is spent incrementing and decrementing reference counters.
ouch