Faster Routine

So my Serial Clock and my Grayscale Clock are the Pins C21 and D7.
My other serial clock is Pin C25.
B27, D8 and C25 are Data Pins.
The rest are some register PINs like Latch etc.

The problem is having this in my while(1) (I toggle the pin twice so low-high in one routine) the Code in between the pin toggling is too slow. Using PWM is not the solution for the problem I guess because I need to do something in between.
So for example:
SCLK is LOW
Set Data pin
SCLK becomes HIGH
Disable Data pin

This is how 1 Bit needs to be shifted out. My LED drivers take data with every high-flank of SCLK.
So when doing PWM or PMC as far as I know I can't shift data at the same speed am I right?