Про просто сложные операции коллеги написали, а выполнение очень сложных операций я бы предложил переложить на сервер. Особенно, если подразумевается активное использование памяти. В некоторых случаях браузер может просто убить страницу. Да и на долгих операциях придётся использовать воркеры, дабы не замораживать интерфейс