Are you referring to frustum culling? There are many algorithms developed to speed up the process, but primarily, you aim to perform as little comparisons as possible per-object. So for instance, rather than checking that each triangle within an object lies within the viewing frustum, you can check the extremities (i.e. the left-most and right-most polygons), if these are both within the viewing frustum, no further check is necessary, the entire object is within the viewing frustum, if one of the extremities does not lie within the frustum, then check the middle polygon, and think of it as the same principle as binary sorting. As the polygons are ordered by position, you can get away with a lot fewer checks than O[n].
Other techniques include that used by the Quake Engine (and by extension the Source engine), with their BSP mapping, this process involves sorting your map into VisLeafs (Visibility leaves), which allows the engine to determine when a player is at one point in the map, what it is impossible for him to see, and thus that is never rendered, even if it is technically within the viewing frustum. This is done by dividing up the space using a series of planes and storing the information within the .bsp itself.
I hope this answers your question, and I've not just digressed into something totally irrelevant to you, if I have then leave a comment and I'll try my best to ammend this answer. :)