None that I am aware of in AutoCAD. If you are handy in advanced math, do a web search on "Sweeping line" search method, IIRC. Be advised that it is advanced stuff, over my head. What I have done in the past is to look for ways to disqualify an entry before you do the intersect calc. Skip things that can't intersect with, etc.Starting in 2010, I believe you can derive the type from the objectID, without having to fetch the object. That should save you quit a bit of time. Search this NG for that option.
HomeBoy Out