Very strongly depends on what you are doing with MATLAB vs. scipy and numpy as to which is faster, although my experience is that on the whole MATLAB is a bit faster (although my experience is pre-MKL so maybe MATLAB is much faster now, if so my colleagues haven't noticed). A factor of 2-10 seems reasonable. On the other hand I have regularly ran into memory problem with MATLAB when I've used it with large data sets that I don't encounter with python, of course that is probably because I'm much better with python than MATLAB (which is the other problem with MATLAB vs. python, I find it much easier to vectorise stuff for numpy so it might be theoretically possible to do stuff faster in MATLAB but in practice I just cant get the behaviour I need).

Octave is nice, but painfully slow, at least when I've used it. I mostly use it when I have to teach students who have used MATLAB and I need a substitute. If you are in a position where you need MATLAB day to day I don't think octave is there as a replacement yet.

Prototyping in MATLAB is okay, but I find it is at the ugly spot in my discipline where it is no faster than python for the quick stuff because fractions of a second don't matter, and too slow for the slow stuff. I also think python has a slightly nicer syntax and structure, and is easier to teach to students, so long as I find them a text editor that doesn't balls up the whitespace. I find they learn much faster and their code is generally cleaner.

Bottom line is if I needed speed that badly I would write in C++, C, or FORTRAN (yup, trained physicist). For me a factor of 10 isn't worth the extra time it would take me to prototype, and if I need speed that badly, I probably need a lot of speed.

Will look into gnuradio, hasn't crossed my radar before.