cvSURF implementation have been admitted by opencv library. Now you can download the optimized version at opencv cvs respository:
http://opencvlibrary.cvs.sourceforge.net/opencvlibrary/opencv/cv/src/cvsurf.cpp?view=log
Some modifications by Vadim:
http://opencvlibrary.cvs.sourceforge.net/opencvlibrary/opencv/cv/src/cvsurf.cpp?view=log
Some modifications by Vadim:
46 /*
47 The following changes have been made, comparing to the original contribution:
48 1. A lot of small optimizations, less memory allocations, got rid of global buffers
49 2. Reversed order of cvGetQuadrangleSubPix and cvResize calls; probably less accurate, but much faster
50 3. The descriptor computing part (which is most expensive) is threaded using OpenMP
51 (subpixel-accurate keypoint localization and scale estimation are still TBD)
52 */