ну я к тому - в чем проблема если обновить «всю» таблицу при удалении одного элемента, если по факту обновляется только видимая часть таблицы 🙂
Я сталкивался с проблемой производительности, у меня были теги, которые вычислялись с помощью regex каждый раз при печатании в NSTextView. Так вот я написал механизм схожий с diff data source , тогда все стало норм. Вычислялись индексы для вставки, обновления, удаления и перемещения. Я тогда думал, что это за дичь, мне казалось, алгоритм жутко затратный по сложности.