Все началось с простой идеи: перестать создавать новую Task для каждого значения. Уже это сократило среднее время вызова с 798 до 216 нс. Но мне стало интересно, куда уходят оставшиеся наносекунды. Так оптимизация debounce превратилась в исследование Swift Runtime, работы компилятора и влияния…
От 798 до 16 нс: как оптимизация debounce привела меня в Swift Runtime
Это краткое изложение. Полный текст материала доступен на сайте источника.