Вот в сравнении с Angular (TL;DR быстрее начинает работать биндинг в ~20-40 раз)
Даже если вы во всю используете фреймворки или MV* библиотеки, O.o() позволит им получить неплохой прирост в производительности, который достигается за счёт быстрой, упрощенной реализации, и в то же время продолжает использовать тот же интерфейс API. Например, последний год команда разработчиков Angular провела сравнительный анализ и установила, что dirty-checking занимает приблизительно 40мс, в то время как О.о() занимает где-то 1-2мс (получается, быстрее в 20-40 раз).
Дата-байндинг без необходимости использовать тонны сложного кода! А ведь это так же означает, что вам больше не придется опрашивать модель на получение изменений!
Dirty-checking требует держать копии всех данных, за которыми вы наблюдаете. Это значит, что вы получаете просадку по памяти, которую вы никогда не получите с O.o(). Dirty-checking является своего рода затычкой, которая так же создает своего рода ненужную абстракцию, которая в результате создает лишние сложности в приложениях.
Почему? Потому, что dirty-checking запускается каждый раз, когда данные «могли» быть изменены. Это не является надежным способом подобной проверки и имеет существенные недостатки, например, гонку между кодом рендеринга (и т.п.) и вычислительным кодом (ведь все знают, что в JS используется один поток и для интерфейса и для вычислений?). Для dirty-checking так же требуется подключение глобального реестра наблюдателей, создавая тем самым риски утечки памяти и т.п., чего позволяет избежать O.o().
Добавлю,
Angular юзает dirty-checking
На каждое изменение забинженнго объекта будет запускаться digest-цикл, который пройдет по всем объектам и расскажет что что-то поменялось, запустит листенеров
Помимо этого, такой цикл запускается множество раз подряд, если считается что есть какие-либо изменения в scope у любого забинженного объекта. Это происходит когда ваши данные в scope завязаны друг на друга, цикл будет повторятся много раз, пока не наступит тот момент, когда ему все объекты в scope не скажут что они не поменялись. Поэтому крайне не рекомендуется ссылаться друг на друга