As part of the 2009 Google Summer of Code program, André Susano Pinto implemented a new raytrace acceleration system for Blender's renderer. The project was intended to optimize ray tracing speed, and make it more flexible to support additional features such as instancing.

The new system improves the way that rays are intersected throughout the scene during rendering. The old 'octree' acceleration structure has been superceded by various versions of Bounding Volume Hierarchy (BVH) structures, with self-developed tweaks by André.
A technical explanation of the arcane details by Daniel Genrich:
"He switched to special BVH's using adaptive children count, exploiting raycoherence using hints/LCTS, SIMD at the end. He's using self developed heuristics to build trees and reduce the expected number of bounding box tests by about 20%. He calls his BVH's "VBVH" and "SVBVH". VBVH is much slower than SBVH when using non-SIMD."
Or if that doesn't mean much to you, the graphs should speak for themselves!
The new raytrace accelerator supports instancing, where identical objects can be duplicated through the scene as many times as possible, using barely more memory than one object itself. This allows raytracing of many thousands of similar objects (for example, forests) without running out of memory. Render instancing for raytracing is now equal to that for scanline rendering, supporting dupliverts, duplifaces, dupligroups, and particle object/group instances.