Yes and no.
No, because calculations are already being done for projectiles arrows etc.
Yes it is more calculations. Worst thing is if you have 500vs500 and each unit takes a swing. You would have to do a check for each melee swing of said unit. That's a lot of calculations. Ofc they can come up with some skinny code to make those calculations less stressful, but it's still a lot. How it could be done is:
if hitPart = leftarm then hitShield().
This would add only 1 check and only to arm hit, but would totally ignore the shield and only increase arm armor.
However in RBM we can see that shields are passively blocking melee swings. If you equip shield on your back (don't draw it) then it blocks swings from behind. Just as you want it to. Now imagine we change placement of said shield to rest on your left hand instead of on back. This would make the shield block passively both melee and ranged (and I didn't notice any major problems in RBM fps). So problem here would be the units using both parry and passive blocking, but hey. Who knows how it would go. Maybe it's not such a bad idea after all? To experiment it, you can add an archer shield to an infantry unit and then remove their original shield.