Thsi may be true but the interupt handler is directly connected to the hardware. With a printer port converter or usb the change in line state needs to be protocol converted then transmitted where it is buffered and then delivered to the device. This is acceptable for printers and like devices.

Somebody correct me if I am wrong but with most PC CNC software, a direct handler is written to talk to the hardware to keep the speed up and the service rates high. In the case of MACH 2/3 I believe it is a dll that interface via the HAL to the printer port taking it over and providing near realtime access. In the case of turbocnc I suspect it is a piece of assembly language placed in line in the pascal code. You need to remember that the line pluse train in these software generators operate at least 25 - 40 Khz in a controlled fashion across multiple axis of motion. Time is everything here.

An interesting development is the new Gecko product which in effect is it's own single purpose computer that just takes commands via ethernet/usb and then generates it's own pulse train directly driving the motor driver. The command structure is something simplistic like move in an arc from point A to point B at X feed rate. this intermediate computer then just generated the correct pulse train to feed the drives but at a whooping rate of 2Mhz or some silly fast number like that. I can't wait to see one in action.