Question: I wrote some functions to benchmark a function/piece of code. I do it like this:

```
start = timer
for(1 second)
   call fun
   iterations++
stop = timer

```

And then I have a MEAN (AVERAGE) time: (stop-start/iterations), right?

Single call is too 'short' to measure, so how can I calculate from this type of measurement, std dev, quartile, etc ... ?

Answer: 
Standard deviation and quartiles both deal with the distribution of values in a group.

With only one measurement, these become trivial or meaningless. Since there's only one measurement, that value is the mean, the minimum, the maximum, and the mode. Since none of the measurements deviate from the mean, the variance and standard deviation are zero.
In general, due to the processing speed and the troubles obtaining micro and millisecond resolutions, most performance measurements are based on a large number of iterations. 

For example:

1. Read start time
2. for 1,000,000 iterations do
3. perform function
4. end-for
5. read end time.

The duration is the end time - start time.
The average execution time is the duration divided by the number of iterations.

There are other reasons for using the average time: interruptions by OS, data cache misses and maybe external factors (such as hard drive accesses). 

For more exact measurements, you will have to use a "test point" and an oscilliscope. Write high pulse to the test point before the iterations and write a low pulse afterwards. Set the oscilloscope to capture the duration. If your oscilloscope has statistical functions and storage, move the test point writes to before and after the function execution.