My impression is that gnuradio is fine for prototyping/poc, but has issues in its design when you try and run production workloads with more complex workflows (ie, writing custom Mac layers/ workflows that involve heavy feedback, etc. you end up having to do a a lot of hacking around with the message passing infrastructure).
That being said last I used it extensively was v3 so maybe v4 is better. Did they get rid of thread per block and allow you to have a single thread service a sub signal chain? I remember that the number of context switches between threads, and balancing latency vs buffer sizes was a pain in the rear.
The threading model is still difficult, and it's still enough slower that thinking you're going to be comparable to custom silicon that's been designed for a particular protocol is silly.
It's great fun for doing signal analysis, but I'd never want to try and implement a full-duplex communication system in production with it.
That being said last I used it extensively was v3 so maybe v4 is better. Did they get rid of thread per block and allow you to have a single thread service a sub signal chain? I remember that the number of context switches between threads, and balancing latency vs buffer sizes was a pain in the rear.