Surface area of a component/group made up of groups

I want to get the total external surface area of a component or group that is made up of groups and components that are butted next to each other. So in effect the total surface area of the outer shell of the component not just the surface area of each of the groups/components added together. I appreciate that I could actually ‘outer shell’ the component and then just get the area of all the resultant faces and add them up - this would work but would slow down the process considerably when working with lots of parts.

Is there a simple enough way of doing this that doesn’t slow down the process too much or does it all start to get quite complex?