Though there's no way to avoid building hardware at some point, count on adding months to a project when a new board design is required. Another nice feature of doing a virtual model of the product is the certainty of creating worthless code. The code will be no more than the means to the end. You'll toss the code as casually as the hardware folks toss prototype PC boards. I mentioned using Excel.
Spreadsheets are wonderful tools for evaluating the product's science.
Create a data set and put it in your trusty spreadsheet. Too many developers write a ton of embedded code only to spend months tuning algorithms in the unforgiving environment of an 8051 with limited memory. Though a spreadsheet masks the calculations' speed, you can indeed get some sort of final complexity estimate by examining the equations. If the algorithm looks terribly slow, work within the forgiving environment of the spreadsheet to develop a faster approach. We all know, though too often ignore, that the best performance enhancements come from tuning the algorithm, not the code.