Entirely depends on the circumstances. Longbows have a far better rate of fire, crossbows penetrate armor better. Longbows take decades of training to be effective – you can put a crossbow in the hands of a civilian and they’ll be an effective crossbowman in 2-4 months.