But actually, the main cost is not computation, but storage. Storage (any variable that is holding data inside the contracts) is extremely expensive because there is very little of it, and has to be persisted on the blockchain forever.
In fact, view functions that don't change the state of the blockchain can be executed for free at any time.