I was there when assembly on a PC processor had no hope of being fast enough!
We used a nifty lashup with a TMS 320-c31 DSP, which was mapped such that when it went to boot, it tried to read the ISA bus registers and got hit with a wait signal till the PC wrote things to those (32 bit) latches (which were later used for bidirectional comm with the PC). Since the C31 always read its boot rom sequentially, we could just map the entire address space it defaulted to to the PC interface. Ditto, if the PC tried to read or write those same latches (one set per direction) and they were empty or full respectively, the PC got a wait line pulled on it. We hit something greater than 3 megabytes/second on the isa bus using the single address 32 IO instruction with the repeat prefix.
Unlike the Intel stuff at the time, the C31 could do around 5 things per clock...otherwise it looked kinda like a motorola 68000 or going back further, a PDP-11 (separate address and data registers like the 68k, but data registers were floating point natively and separate ALUs for addresses and data.
Like the PDP, though, all the registers were just "there" so you could easily do computed jumps by adding to the PC and mess with the stack pointer and so forth.). Ours was fitted with all no wait state static ram, and originally some Burr-Brown successive-approximation A/D and D/A converters.
A PIC uP was used to make sure we didn't hold the PC hung for too long in the case of error, and some GALs were used for the control logic and address mapping.
Later, when they got better we were able to go to some sigma-delta ones (we got 18 bit ones and just used 16), but they were never as good - just ~ $200 cheaper. Bill gave me an old Pentium II mobo for display, but when we did this it was 486 and P I all the way...

- The old C-Lab Musicad board
I almost broke even on this one...others took the ideas and ran with them, which was fine - the market was broke musicians with some of daddy's money, duh, bad business move on my part. But it turned out great - the subsequent consulting and product design business used this as a demo of my skills and virtually no salesmanship was needed thereafter to get all the good work we wanted...winding up at ~ a million bucks a year per guy before we shut it down from burnout. We thought we were pretty hot stuff in the day, and we had the paychecks that meant we weren't alone thinking that. Of course, in hindsight a lot looks pretty silly.
http://www.coultersmithing.com/OldStuff/CLAB/index.html
BTW, I have some LM 394's in the junk box and have used them, primarily for moving coil preamps where they really shine for low noise voltage at relatively high collector current to match that low impedance input, the basic design taken from the National Apps handbook of '78 (which in turn was stolen from a marantz design used in their tone controls, pre-sony). Our "fine wine" preamp is an extension of those principles. But there we didn't mind asymmetric time response and wanted lowest noise at a very high input impedance, so we used different parts and other speeds and feeds.
Diff pairs have ~ 3dB more noise than single ended (in theory...). That DC coupled NPN-PNP we used in fine wine which was based on "the ultimate preamp" which was around the same time as the National (or Marantz) design has some good properties too - but tends to have 2nd harmonic distortion at the limits as the transistors both turn on a lot quicker than off. In our case, with phototube input that is fast attack and slow decay, it works out as a matched filter for the signal anyway.
Somewhere, from that same apps handbook, I've got the original tutorial on how to design opamps or in fact any feedback amp with good bandwidth and slew rate - all proceeds from that - physics is physics and the rules haven't changed. It was a real eye-opener that you needed to reduce the transconductance of the input pair to get any slew rate and still be able to close the loop. This is why the fet amps stormed the world at first, they were the first really quick enough to do audio well. Then lm837 (?) and pals, bipolar again. My modification of the Dan Meyer amp (tiger .01) to use fet outputs also reduced the transconductance of the input stages with larger emitter resistors, and burned more current for speed at the cost of some more voltage noise, still not bad, and I still use it in my reference stereo today. (I should document that thing, it's really good, DC->4MHz, distortion so low it was very hard to measure, around .0027% IMD at 30 and 31 KHz 1::1 and full power - any other case I couldn't measure at all with custom built help for the distortion analyzer). I don't appear to have the scans of that tutorial online at the moment, when I get a round tuit I'll scan them and put them up. It's the really good stuff...(finding things when you have so many can be the hardest part, they're probably up there somewhere...)