Im writing a real time DSP processing library.
My intention is to give it a flexibility to define input samples blockSize, while also having best possible performance in case of sample-by-sample processing, that is - single sample block size

I think I have to use volatile keyword defining loop variable since data processing will be using pointers to Inputs/Outputs.

This leads me to a question:

Will gcc compiler optimize this code

```c
int blockSize = 1;
for (volatile int i=0; i<blockSize; i++)
{
 foo()
}

```

or

```c
//.h
#define BLOCKSIZE 1

//.c
for (volatile int i=0; i<BLOCKSIZE; i++)
{
 foo()
}

```

to be same as simply calling body of the loop:

```
foo()

```

?

Thx