minofifa said:
oh yeah, the question!
usb 1 < firewire 400 < usb 2 < firewire 800
in terms of their bandwidth, i think thats how it goes.
Only in theoretical bandwidth. In real-world bandwidth, it's either
USB1.x < (FW400 == USB2.0) < FW800
or depending on who you ask,
USB1.x < USB2.0 < FW400 < FW800
The reason for this is that FireWire has DMA support built into the bus protocol. The bus controller itself can do DMA on behalf of devices without the processor becoming involved. Thus, as far as busses go, it is extremely easy on the processor.
USB, by contrast, can do DMA as requested by software running on the host, for some things. I'm not sure about the details, but basically the CPU has to be heavily involved in every transaction on the bus.
minofifa said:
they both are used to connect external gear to your computer without having to restart genearlly. If you have the option i would go with firewire as IMO it is more stable, less problematic. save your USB slots for mice, keyboards, printers etc.
FireWire is more stable, in part, because each FireWire device (according to the spec) has a GUID (globally unique ID). That means that you can recognize a given firewire device even when stupid things happen like circular paths in the bus, bus reenumeration due to buggy hubs, etc. There are probably other reasons, too, but that's the first one that comes to mind.
Definitely FireWire.