With maximum theoretical maximum performance on a 3GHz (x86) processor, you will have a budget of just under 4 processor instructions per random byte if you are trying to hit 200 MB / s. Actual performance will be significantly less. I would say that it will be extremely difficult in any language. You are well versed in speeds that typically use a dedicated hardware accelerator (i.e., you are trying to make 1.56 Gbps per second). Network or video applications have a significant amount of external equipment designed to handle this bandwidth. An extremely efficient C or assembly implementation may allow you to hit this limitation, but you really push the limits of what is possible using only general-purpose hardware.
I would consider either pre-generating the data (as already suggested) or using some kind of hardware crypto-calculator to hit everything that looks like these kinds of bandwidth. I found this list of crypto cooler hardware suppliers .
As a final thought, you actually meant 200 mega bytes per second, right? If you meant mega bits , then this problem is much more easily resolved.
Gian
source share