The angular-datatables uses deep search for changes on every $digest cycle.
Meaning every time any Angular event happens (ng-clicks, etc.), the entire array, each of it's children, it's children's children, and so forth gets compared to a cached copy.
There is an attribute to add so that if the directive has a truthy value for dt-disable-deep-watchers at compile time then it will use $watchCollection(...) instead.
This would allow users to prevent big datasets from thrashing Angular's $digest cycle at their own discretion