The setup is that I'm trying to understand how a computer program works, so I'm capturing some numbers every time a function is called. For example, I might be capturing the number of branches taken and the number of branches incorrectly predicted. During the course of running the program, a particular function might get called twenty or thirty thousand times. I have a fair amount of control over how many times a given function is called.
My initial plan was to calculate a mean and standard deviation using those 20-30k data points as my sample. However, my (computer science) professor suggested that I needed to rerun the experiment several times in order to calculate a standard deviation. So I would run my script five or six times, calculating a mean each time. Then I would use those five or six values to calculate a standard deviation. That doesn't make a lot of sense to me - it seems to me that if I want to understand how a given function is behaving, I should treat the data from each function call as a data point, and that the professor's method more or less throws away a lot of data.
However, I'm thinking that I may be making an unwarranted assumption that one run of the program is like another. In this case, I guess that running and presenting both sets of numbers would be a good, as I would capture how the functions behave at each call, and also see if there is behavior difference across calls.
So getting around to the question, is my initial impulse to use each function call as my data set correct/better, or should I calculate the data both ways and present both numbers?