Você não explica muito qual é a sua aplicação e por que é necessário calcular algo, por isso é difícil responder com precisão. Em todos os casos, você diz que pode escolher entre deixar o usuário esperar por 15 segundos ou 90 segundos . Nos dois casos, há um problema . Todos os aplicativos que eu usei carregaram em menos de dez segundos, exceto em algumas circunstâncias muito específicas (por exemplo, o Visual Studio pode levar de 30 a 40 segundos para carregar pela primeira vez após uma instalação limpa).
Em geral, o usuário não precisa esperar nem na inicialização nem durante o fluxo de trabalho. Se o aplicativo demorar 15 segundos para iniciar, a maioria dos usuários tentará nunca fechá-lo ou iniciá-lo quando sair tomar uma xícara de café. Em todos os casos, eles provavelmente pensarão: "Eu deveria investir mais na compra de um software correto, em vez de perder meu precioso tempo".
Os casos em que você realmente precisa de muito cálculo imediatamente são extremamente raros e podem ser facilmente removidos. Por exemplo, o Adobe Lightroom, ao iniciar, deve mostrar o último catálogo com as miniaturas das fotos. Quando inicio com um catálogo contendo várias centenas de fotos, 20 MB em disco por foto , é necessário muito disco rígido e CPU para carregar essas fotos, lê-las, fazer transformações (incluindo distorção de perspectiva etc.) e gerar uma miniatura . Na verdade, o Lightroom gasta menos de cinco segundos para carregar em um PC não tão novo, porque os dados são armazenados em cache de maneira inteligente e porque não mostram todas essas centenas de miniaturas imediatamente após a inicialização, mas uma por uma quando a janela principal já é exibido.
Portanto, no seu caso, você provavelmente deve pensar menos em quando o usuário deve esperar e mais em como evitar que seus usuários desperdiçam seu tempo.
Edit: claro, eu esqueci um grupo de aplicativos que podem se comportar de maneira diferente: videogames . Em um videogame, você pode deixar o usuário aguardar um minuto para carregar os gráficos. Isso é feito porque a renderização 2D / 3D pode consumir muita CPU e você não pode gastar recursos na máquina carregando e calculando coisas durante o jogo: o desempenho visual deve ser o melhor possível e a experiência do jogo deve ser extremamente suave.
Mas mesmo nesse caso, acho que esses aplicativos tentam gastar menos de um minuto carregando coisas. Ou eles carregam pequenos pedaços , permitindo que o usuário inicie o jogo muito rápido, jogue sem problemas, mas espere de graça por cinco segundos ao passar de um nível para outro (é o que eu vi na série Half Life, por exemplo).