This is just an educated guess, so anyone, please correct me if I am wrong:

GR tries to hide the fact that even for a ringbuffer, memory space is always 
linear. Now lets assume you try to do an fft with overlap, with an fft size as 
large as your buffer.

The first time, you memory area might be at the beginning of the buffer. The 
next time, it is shifted somewhat into the buffer, therefor the last part of 
your buffer is actually at the beginning of the buffer.  To get a linear (with 
monotonically increasing adresses) buffer, the physical memory pages backing 
your buffer are mapped into virtual memory space twice, where the second 
mapping directly follows the first.

Physical memory usage is equal to buffer size, whereas virtual memory space 
uses twice as much memory. So for current applications on todays computer it 
is really easy to run out of virtual memory space.

If your demands are really so high, why aren't you using a 64bit machine. On 
top of the larger memory space, you get more registers and guranteed existence 
of SSE (only an issue, if you use prebuilt packages). The last time I used GR, 
it worked fine on 64bit.

Stefan

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to