Swift Performance - iOSDevUK

I presented today at iOSDevUK in Aberystwyth with some more material on Swift Performance and how to profile Swift. Also on wrapping classes in value types. Unfortunately much of the presentation was a demo and there is no video but I'm posting the materials here and will try to make a follow up post covering some more of the details in the next week or two (no promises).

Slides (note that slides a terrible communication mechanism and caveats and subtleties in the talk may be lost):

Here is the markdown that generates the Deckset presentation and includes presenter notes. The set of things that I said intersects with the presenter notes but neither is the whole truth.

The optimisation levels comparison video can been seen in this post I will try to inline it when I figure out how to relink a media file in Posthaven or get more bandwidth and upload it again. (I don't want to risk slowing by Xcode7 GM download over 3G).

The Xcode 7 compatible version of the cellular automata is on Github here and if you want to try the profiling yourself the slow version is here. Note that this isn't intended as an example of code quality, it is very much a performance experiment on code that needed work and has been evolved from Swift 1.0 consider it in this context.

Finally here is the example of wrapping objects in a stuct and also a very first pass at a reimplementation of the Array (this one limited to fixed size). It should work in a Playground but there were some issues testing the array. I intend to do some more work and testing on this and then write more about it on the blog.