def _sizes(self, objs, sized=None):
        '''Return the size or an **Asized** instance for each given
        object and the total size.  The total includes the size of
        any duplicates only once.
        '''
        self.exclude_refs(*objs)  # skip refs to objs
        s, t = {}, []
        for o in objs:
            i = id(o)
            if i in s:  # duplicate
                self._seen[i] += 1
                self._duplicate += 1
            else:
                s[i] = self._sizer(o, 0, sized)
            t.append(s[i])
        if sized:
            s = sum(i.size for i in _values(s))
        else:
            s = sum(_values(s))
        self._total += s  # accumulate
        return s, tuple(t)
Return the size or an **Asized** instance for each given
        object and the total size.  The total includes the size of
        any duplicates only once.
        
recipes/Python/546530_Size_of_Python_objects_revised/recipe-546530.py