I am trying to theoretically analyze the expected performance of a smart contract presented in the form of an algorithm which consists of multiple functions.
What is the best way to measure the performance of the functions within?
Some suggest that measuring the amount of Gas is the best solution. However, measuring the gas cost is dependent on the code and would require the actual implementation of the smart contract. Some developer may implement the contract in ways better than others. Therefore, this may not be too accurate.
On the other hand, others suggest presenting the computational complexity in terms of the Big O notation. However, Big O notation is usually used for complex programs that might require a lot of time
What would be the better method and why?