That sounds right. And it’s logical too.
Bounding boxes are defined by two points. If point 1 or point 2 is greater than the min point, and less than the max point, they intersect. You could do the math for that by hand in a minute or so.
Geometry.DoesIntersect is slower as dynamo has to build up the geometry first, and then attempts to test each part of geometry A against each part of geometry b. That is each face, solid, etc is tested against the other, as geometries aren’t necessarily single pieces. If they intersect than it returns true and nothing more happens. If they don’t it returns false and nothing more happens. It’s conceivable that a complex geometry could be tested mathematically by hand.
Geometry.Intersect is slowest as it takes the does Intersect node a step further. After testing, it calculates the intersecting form, which is again doing the math to make three sets of geometry after testing for the intersecting parts… I have yet to meet someone who could do that math by hand in a reasonable timeframe for anything more complex than basic primitives.