I would personally try and stick to all XYZ steps are on the one port if possible, as most firmware use bitwise operations for control.
This would ensure that any X/Y/Z steps (or whatever it works out for a Delta) are happening at the same time.
Extruders could follow the same thing (and even the same port if it comes to it). If you're using a mixing extruder, you want them to all step at the same time for consistency.
Direction needs to change a bit, but not as often as Step. Heard some notes about some drivers needing dir to appear a set time before step (which is logical), so makes sense for a separate port from a speed point of view.
Enables don't need to be fast usually, so that's not really an issue.
IMO in theory it should be faster to set all your dirs on one port, then send all your steps on another, than to do them on the same port, but it won't be by much, and may even be too fast for the drivers anyway.
Note: The X/Y/Z issue makes the most sense to me with Deltas, as they have the most overhead, and also must step all 3 axes at once from an accuracy standpoint.
This would ensure that any X/Y/Z steps (or whatever it works out for a Delta) are happening at the same time.
Extruders could follow the same thing (and even the same port if it comes to it). If you're using a mixing extruder, you want them to all step at the same time for consistency.
Direction needs to change a bit, but not as often as Step. Heard some notes about some drivers needing dir to appear a set time before step (which is logical), so makes sense for a separate port from a speed point of view.
Enables don't need to be fast usually, so that's not really an issue.
IMO in theory it should be faster to set all your dirs on one port, then send all your steps on another, than to do them on the same port, but it won't be by much, and may even be too fast for the drivers anyway.
Note: The X/Y/Z issue makes the most sense to me with Deltas, as they have the most overhead, and also must step all 3 axes at once from an accuracy standpoint.