Unowned or Weak? Lifetime and Performance

October 27, 2016

While the usual explanation that when dealing with retain cycles you should choose between unowned or weak considering references lifetime is by now well known, sometimes you are still in doubt about which one you should actually use between the two and if defensively using only weak references is a good idea. This article helps you choose which one to use discussion about object lifetimes and weak references performance.
[Read...]

Recursive Tail Calls and Trampolines in Swift

May 5, 2016

The use of recursion can improve the overall design of your algorithms but it leaves you susceptible to stack overflows if the compiler is unable to perform specific optimizations. In this post we'll see what tail recursion and TCO are and how the use of trampolines can overcome the fact that we cannot rely on the Swift compiler performing tail call elimination.
[Read...]

Swift And C: Everything You Need to Know

April 7, 2016

Now that Swift is available on Linux and other OSes, there are even more situations where you could need to interact with C code from your Swift application. This article will hopefully shed some light on the most non-obvious details and give you some practical examples and tips of how to interact with C APIs like the C standard library.
[Read...]

A Recap of the Swift Porting Efforts #2

March 11, 2016

Since the first installment of this series a few established ports have received updates and a few new things have finally landed on master. Let's recap what happened in the last month on the front of porting Swift on other platforms.
[Read...]

Swift 3.0 now available for all the ARMv6 RaspberryPi (1,Zero)

March 10, 2016

After the Swift 2.2 binaries, you can now download Swift 3.0 compiled for ARMv6 single board computers, all models of RaspberryPi 1 and the new Zero.
[Read...]

Swift available for all the ARMv6 RaspberryPi (1,Zero)

February 10, 2016

Swift compiled for ARMv6 single board computers, all models of RaspberryPi 1 and the new Zero.
[Read...]

A Short Swift GYB Tutorial

February 9, 2016

The GYB tool is used internally in Swift to simplify source files with many snippets of code that follow a common pattern. GYB provides some additional directives that are parsed by the tool to generate the final source files. This short tutorial describes how to use GYB in your own projects.
[Read...]


This is the blog of Umberto Raimondi, you can reach me at me@this domain.

I'm also on Twitter and GitHub.

Subscribe via RSS or email.