Do not compute what you will throw away
A full SVD is O(mn·min(m,n)). If you want 20 components out of 1682, randomized SVD is O(mnk) and Lanczos is O(k·nnz(A)).
That gap is why large-scale recommenders are feasible at all. The full decomposition is not wrong; it is simply an enormous amount of work whose answer you were going to discard.
The decision is not “which method is best” but “how much of the answer do I actually need?” — and that question has to be asked before the method is chosen.