Разработчик оптимизировал механизм debounce в Swift, заменив создание отдельной Task для каждого события на использование одной постоянной рабочей задачи. Это позволило сократить среднее время выполнения метода emit с 798 до 16 нс.
В исходной реализации создание и отмена задач требовали значительных ресурсов. Оптимизированный подход переносит последнее значение и время дедлайна в общее состояние, что позволяет обновлять параметры без прерывания сна рабочей задачи.
Дополнительное ускорение обеспечили замена NSRecursiveLock на os_unfair_lock и переход с типа ContinuousClock.Instant на UInt64 для хранения дедлайна. Это снизило затраты на обращение к метаданным типов и работу с памятью.
Применение межмодульной оптимизации (CMO) позволило компилятору специализировать generic-функции. В тестах переработанный прототип с использованием CMO показал пропускную способность около 258 миллионов вызовов против 16 миллионов у исходного варианта.
Эксперименты проводились 13 октября 2026 года на версии кода из коммита 990cf04. В ходе работы автор анализировал вызовы Swift Runtime, чтобы выявить влияние метаданных типов и расположения блокировок на производительность.






