Along similar lines to the “Health Check” command this routine uses the built in routines that occasionally present in the “Revit | Warnings” dialog.
The warnings are:
View clipping is disabled: View clipping is disabled. View may generate graphics for extraneous element, taking extra time.
Interior categories are enabled in 3D view: Large 3D view has interior categories enabled. It may cause Revit to spend extra time generating graphics for many obscured objects.
View detail level is too high: Large view has view detail level set to "medium" or "fine". Revit will spend extra time generating extraneous details.
Multiple non-overlapping loops: Sketches that contain multiple non-overlapping loops produce complex elements with multiple disjoint solids that can be usually replaced with few smaller and simpler elements.
Sketch is too complex: Sketch with more than 500 elements in it may take significant amount of time to solve.
Sketch area too large: Sketch with area greater than 200 000 square feet may slow down selection, drawing and geometric computations.
Host contains too many inserts: Host objects containing too many cutting inserts may take long time to update. Consider splitting such host objects into smaller pieces or using stacked walls.
Overlapping walls: Overlapping walls may slow down auto-join and geometric updates. Use embedding of walls or other editing tools (elevation profile, wall extent) to avoid overlapping.
Too Large Family File: Family file is large in size, increasing overall Revit memory consumption.
Many Unused Nested Families: Families that are nested inside other families and not instantiated are wasting memory.
Too Many elements in Family: Family contains too many elements. Regeneration of such families is slow.
View-specific imports in Family: View specific imports in families are inaccessible in the project, but they still occupy memory.
Duplicate instances: Duplicate instances in the same place occupy memory, slow down selection and model update and cause schedules to be incorrect.
In-place family contains disjoined solids: In-place family with disjoined solids slows down selection and model update.
Project contains unused families and types: Unused families and types in the project are wasting memory.
Room separation line is not joined: Unjoined room separation lines causes additional computations for room boundary computations.
Too many area boundary lines: Thousands of area boundary lines will increase model open, saving, SWC, and model updating times.
These are all Autodesk concepts that relate to performance. I am not 100% convinced of the veracity of everything it finds. The fact that using the normal Warnings dialog ignores many of these does make it somewhat questionable as to whether they in fact consider them real issues.
The errors are presented in a dialog allowing you to view the item in question or to delete the item. This is a modeless dialog which allows it to stay open while you address the issues.