Hacker News new | ask | show | jobs
by jmull 2477 days ago
I don't think you need to write the critical part of the driver in C to speed up the swift implementation.

I clicked through to a performance analysis showing ARC taking about 3/4 the time (in the release build).

You don't really need to be doing a lot of ARC in the inner loops if you don't want to.

1 comments

Yes, we do if we want to have an idiomatic interface for the application on top of the driver.

Pull requests proving otherwise are welcome

I don’t think it’s idiomatic to do a bunch of unnecessary memory management in inner loops, right?
The memory management is being done by the language.
ARC is implemented at the language level but it's not required. You can use it when and where you like.

One fundamental aspect of swift is the distinction between reference types -- which are reference counted -- and value types -- which are not. Generally in Swift you'd use a value type over a reference type unless you have reasons not to. E.g.: https://developer.apple.com/documentation/swift/choosing_bet...

I mean, I don't know what the right approach for this library is. The authors are going to have to fix their own code. IMO, coming up with a demonstrably poor solution and trying to defend it as "idiomatic" is pretty weak.