There is currently no way to disable ARC for fast as you can with objc (for example, a file with a compiler flag). As others have pointed out, there are Unmanable and UnsafeMutablePointer APIs designed to interact with C APIs that allow you to work with ARC in some cases. However, these APIs are cumbersome and require significant changes to your code (for example, to interact with arrays).
Swift people would usually want you to rewrite your code to use structures and avoid links where possible. But this makes porting existing code painful.
In my other post, there are some suggestions regarding ARC performance: Swift Dictionary is slow even with optimizations: performing incomplete save / release? but none of them are very satisfying.
I went so far as to write code to subsequently process the compiled mach-O object code and remove the ARC swift_retain / release calls from some classes as an experiment. But I really hope that now that Swift is open, we can just change it to make it more flexible in the future.
source share