Parry haste - magey/classic-warrior GitHub Wiki
Initial analysis of all the data we have shows this behavior for NPC parry (the blue line is time remaining on swing, the orange line is the haste):

Player parry seems to follow the same rules (we don't have nearly as many data points though so it's noisier):

In summary:
If time remaining > 60%, reduce by 40% of speed
If time remaining < 20%, no reduction
Otherwise, reduce by (time remaining - 20%)