I have some mathematical algorithm I have reason to run as an on-chain function in a smart contract. After unrolling for-loops I’m looking at I’m guessing 10000 lines of code where each line is doing simple arithmetic (adding or multiplying floating point numbers in small arrays).
I know for a fact the function can be computed 3000-5000 times per second on a 2.3 GHz Intel i5, when written in C depending on parameter tweaks.
Before writing the code my ‘gut feel’ is I’m looking at 1,000,000 gas for something like this, based on some simple hardhat tests with large for-loops.
Running this on a main chain looks like a joke, but running this on Polygon or some kind of roll-up looks like it might not be ridiculously expensive?
I estimate users will need to call the function/transaction maybe 5 or 10 times total. I also estimate that the on-chain data will be around 5 kilobytes per transaction (or 2kb with on-chain decompression). The majority of participants to the smart contract would likely be willing to spend $120 total on those 5 or 10 transactions but $10000 might not be out of the question for certain corporate use-cases.
Ballpark, does this sound like it adds up or have I vastly underestimated the cost of gas or on-chain data?