Michael Long
Jul 26, 2023

--

Interesting--but highly specialized--design, complicated by the fact that almost any object complex enough to be useful also consists of other dynamically allocated objects (Strings, Arrays, Dictionaries, etc.), which in turn implies that looping through the data in question will also generate cache misses.

Don't really share your dislike for vtable-based objects either, especially since Apple Silicon has several hardware-specific optimizations for method dispatch and Swift offers several mechanisms (like final) to ensure dispatch is static.

That said, interesting to see an article that dives below the surface and exposes performance characteristics of which most developers aren't aware.

--

--

Michael Long
Michael Long

Written by Michael Long

I write about Apple, Swift, and SwiftUI in particular, and technology in general. I'm also a Lead iOS Engineer at InRhythm, a modern digital consulting firm.

Responses (1)