RY 's Blog

A Lock-Free SPSC Queue in Swift

Swift Concurrency
Ring buffers are simple. Correct concurrent ring buffers are not. This article builds the idea in three steps: first, the ring buffer as a datastr ...
Read more

Exploring Swift Concurrency

Swift Concurrency
In iOS development realm, we have several ways to write asynchronous and parallel code. like closures and completion handlers to write asynchrono ...
Read more

How to use SignPost

Debug
SignPost is part of the os_log family delivered by Apple for iOS10 and above. It allows developers to place performance-focused time markers which ...
Read more

react-native-instrument

Debug c++
Sometimes, you may encounter heavy performance issue in RN page, like laggy and unresponsive pages. And you do want to take a deep look at how m ...
Read more

EXC_BREAKPOINT when forced unwrapping optional in Swift

Debug Swift
When unforced unwrapping optional in Swift, we will see the exception type in crash report is Exception Type: EXC_BREAKPOINT (SIGTRAP) instead of ...
Read more

Understand How MLeaksFinder and FBRetainCycleDetector automatically detect memory leaks

BackgroundMemory is important resource in iOS. If a application uses too much memory, exceeding the limit based on the device, the iOS system will ...
Read more

Crash - Pointer Authentication Failures or invalid memory accesses

Debug
Recently, a colleague came to me for a crash. It is quite tricky. So i took a note here. The exception section is as follow: 123456789101112Except ...
Read more

Crash - ate bad food (0x8badf00d)

Debug
Recently, my colleague came to me for a crash report. It is a case where system watch dog kills our app for blocking main thread for too long time ...
Read more

Ensure Null-Terminated JS Bundle in React Native

Dive into React Native
DescriptionThere is an expensive copy operation for data buffer when loading and parsing JS Bundle in React Native. In my case, I have a 4.8 MB J ...
Read more

Dive into CFRunLoop

c++
BackgroundSometimes, you may want to collect on-device performance metrics in main thread to know how our App performs and help you find more clue ...
Read more
Prev Next