| Test description | Execution time | Execution rate (Hz) | 
 | icp-slam (match points): Run with sample dataset | 1.19 ms | 841.46  Hz | 
 | icp-slam (match grid): Run with sample dataset | 1.97 ms | 508.70  Hz | 
 | poses: CPose3D (+) CPose3D | 21.31 ns | 46.92 MHz | 
 | poses: CPose3D.composeFrom() | 13.36 ns | 74.83 MHz | 
 | poses: CPose3D (+) CPoint3D | 10.61 ns | 94.21 MHz | 
 | poses: CPose3D.composePoint() | 9.80 ns | 102.03 MHz | 
 | poses: CPose3D.composePoint()+Jacobs | 100.13 ns | 9.99 MHz | 
 | poses: CPoint3D (-) CPose3D | 26.84 ns | 37.26 MHz | 
 | poses: CPose3D.inverseComposePoint() | 17.51 ns | 57.10 MHz | 
 | poses: CPose2D (+) CPose2D | 14.88 ns | 67.22 MHz | 
 | poses: CPose2D.composeFrom() | 10.50 ns | 95.21 MHz | 
 | poses: CPose2D (+) CPoint2D | 7.09 ns | 140.95 MHz | 
 | poses: CPose2D.composePoint() | 5.70 ns | 175.30 MHz | 
 | poses: CPose3DQuat (+) CPose3DQuat | 45.12 ns | 22.16 MHz | 
 | poses: CPose3DQuat.composeFrom() | 31.67 ns | 31.57 MHz | 
 | poses: CPose3DQuat (+) CPoint3D | 25.16 ns | 39.74 MHz | 
 | poses: CPose3DQuat.composePoint() | 17.84 ns | 56.04 MHz | 
 | poses: CPoint3D (-) CPose3DQuat | 36.85 ns | 27.14 MHz | 
 | poses: CPose3DQuat.invcomposePoint() | 15.15 ns | 66.00 MHz | 
 | poses: Conv CPose3DQuat <- CPose3D | 12.61 ns | 79.29 MHz | 
 | poses: Conv CPose3D -> CPose3DQuat | 54.28 ns | 18.42 MHz | 
 | poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 485.54 ns | 2.06 MHz | 
 | poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 468.18 ns | 2.14 MHz | 
 | poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 6.23 us | 160.58 KHz | 
 | poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 371.95 ns | 2.69 MHz | 
 | poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 373.43 ns | 2.68 MHz | 
 | poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 5.91 us | 169.19 KHz | 
 | matrix: unit, dyn[float], 3x3 | 55.82 ns | 17.92 MHz | 
 | matrix: unit, dyn[double], 3x3 | 53.69 ns | 18.62 MHz | 
 | matrix: unit, dyn[float], 6x6 | 81.08 ns | 12.33 MHz | 
 | matrix: unit, dyn[double], 6x6 | 82.32 ns | 12.15 MHz | 
 | matrix: unit, fix[float,3,3] | 0.00 ns | inf THz | 
 | matrix: unit, fix[double,3,3] | 0.00 ns | inf THz | 
 | matrix: unit, fix[float,6,6] | 4.21 ns | 237.38 MHz | 
 | matrix: unit, fix[double,6,6] | 4.87 ns | 205.27 MHz | 
 | matrix: multiply, dyn[float ], 3x3 * 3x3 | 281.39 ns | 3.55 MHz | 
 | matrix: multiply, fix[float ], 3x3 * 3x3 | 0.00 ns | inf THz | 
 | matrix: multiply, dyn[double], 3x3 * 3x3 | 266.66 ns | 3.75 MHz | 
 | matrix: multiply, fix[double], 3x3 * 3x3 | 0.00 ns | inf THz | 
 | matrix: multiply, dyn[float ], 3x6 * 6x3 | 299.53 ns | 3.34 MHz | 
 | matrix: multiply, fix[float ], 3x6 * 6x3 | 1.21 ns | 828.21 MHz | 
 | matrix: multiply, dyn[double], 3x6 * 6x3 | 294.25 ns | 3.40 MHz | 
 | matrix: multiply, fix[double], 3x6 * 6x3 | 1.90 ns | 525.85 MHz | 
 | matrix: multiply, dyn[float ], 10x40 * 40x10 | 1.43 us | 700.05 KHz | 
 | matrix: multiply, fix[float ], 10x40 * 40x10 | 1.16 us | 861.82 KHz | 
 | matrix: multiply, dyn[double], 10x40 * 40x10 | 1.66 us | 603.16 KHz | 
 | matrix: multiply, fix[double], 10x40 * 40x10 | 1.34 us | 745.85 KHz | 
 | matrix: inv, dyn[double] 3x3 | 791.17 ns | 1.26 MHz | 
 | matrix: inv, fix[double] 3x3 | 12.98 ns | 77.04 MHz | 
 | matrix: inv, dyn[double] 6x6 | 1.58 us | 633.43 KHz | 
 | matrix: inv, fix[double] 6x6 | 1.11 us | 898.76 KHz | 
 | matrix: inv, dyn[double] 20x20 | 13.08 us | 76.44 KHz | 
 | matrix: inv, fix[double] 20x20 | 11.37 us | 87.95 KHz | 
 | matrix: inv, dyn[double] 40x40 | 49.83 us | 20.07 KHz | 
 | matrix: inv, fix[double] 40x40 | 47.25 us | 21.16 KHz | 
 | matrix: det, dyn[double] 2x2 | 296.97 ns | 3.37 MHz | 
 | matrix: det, fix[double] 2x2 | 0.03 ns | 33.13 GHz | 
 | matrix: det, dyn[double] 3x3 | 394.77 ns | 2.53 MHz | 
 | matrix: det, fix[double] 3x3 | 0.00 ns | inf THz | 
 | matrix: det, dyn[double] 6x6 | 927.12 ns | 1.08 MHz | 
 | matrix: det, fix[double] 6x6 | 674.14 ns | 1.48 MHz | 
 | matrix: det, dyn[double] 20x20 | 8.63 us | 115.81 KHz | 
 | matrix: det, fix[double] 20x20 | 8.16 us | 122.50 KHz | 
 | matrix: det, dyn[double] 40x40 | 31.29 us | 31.96 KHz | 
 | matrix: det, fix[double] 40x40 | 30.53 us | 32.76 KHz | 
 | matrix: chol, dyn[double] 4x4 | 555.42 ns | 1.80 MHz | 
 | matrix: chol, fix[double] 4x4 | 108.67 ns | 9.20 MHz | 
 | matrix: chol, dyn[double] 40x40 | 13.42 us | 74.50 KHz | 
 | matrix: chol, fix[double] 40x40 | 11.33 us | 88.25 KHz | 
 | matrix: chol, sparse [2x2;2x2] | 4.98 us | 200.78 KHz | 
 | matrix: chol, sparse [30x30;10x10] | 43.98 us | 22.74 KHz | 
 | matrix: chol, dyn[double] 10x[6x6] | 33.23 us | 30.09 KHz | 
 | matrix: chol, sparse      10x[6x6] | 17.40 us | 57.47 KHz | 
 | matrix: chol, dyn[double] 20x[6x6] | 152.29 us | 6.57 KHz | 
 | matrix: chol, sparse      20x[6x6] | 33.90 us | 29.50 KHz | 
 | matrix: chol, dyn[double] 50x[6x6] | 1.86 ms | 538.68  Hz | 
 | matrix: chol, sparse      50x[6x6] | 72.77 us | 13.74 KHz | 
 | matrix: chol, dyn[double] 100x[6x6] | 15.15 ms | 66.00  Hz | 
 | matrix: chol, sparse      100x[6x6] | 154.65 us | 6.47 KHz | 
 | matrix: chol, dyn[double] 120x[6x6] | 23.45 ms | 42.65  Hz | 
 | matrix: chol, sparse      120x[6x6] | 169.12 us | 5.91 KHz | 
 | matrix: chol, dyn[double] 140x[6x6] | 34.02 ms | 29.40  Hz | 
 | matrix: chol, sparse      140x[6x6] | 204.88 us | 4.88 KHz | 
 | matrix: loadFromArray[double] 4x4 | 0.00 ns | inf THz | 
 | matrix: load Eigen::Map[double] 4x4 | 0.00 ns | inf THz | 
 | gridmap2D: getCell | 2.78 ns | 360.02 MHz | 
 | gridmap2D: setCell | 1.95 ns | 511.96 MHz | 
 | gridmap2D: updateCell | 3.54 ns | 282.14 MHz | 
 | gridmap2D: updateCell_fast_occupied | 0.41 ns | 2.45 GHz | 
 | gridmap2D: insert scan w/o widening | 57.49 us | 17.39 KHz | 
 | gridmap2D: insert scan with widening | 150.17 us | 6.66 KHz | 
 | gridmap2D: resize | 735.62 us | 1.36 KHz | 
 | gridmap2D: computeLikelihood | 9.02 us | 110.82 KHz | 
 | gridmap2D: determineMatching2D | 32.66 us | 30.62 KHz | 
 | pointmap: insert 100 scans | 722.46 us | 1.38 KHz | 
 | pointmap: build 2D kd-tree of 1 scan | 1.50 us | 667.91 KHz | 
 | pointmap: build 2D kd-tree of 100 scan | 154.18 us | 6.49 KHz | 
 | pointmap: build 2D kd-tree of 1000 scan | 1.81 ms | 552.64  Hz | 
 | pointmap: build 3D kd-tree of 1 scan | 1.76 us | 567.27 KHz | 
 | pointmap: build 3D kd-tree of 100 scan | 171.94 us | 5.82 KHz | 
 | pointmap: build 3D kd-tree of 1000 scan | 1.84 ms | 543.27  Hz | 
 | pointmap: kd-tree 2d query on 10 scans | 498.67 ns | 2.01 MHz | 
 | pointmap: kd-tree 2d query on 1000 scans | 44.11 us | 22.67 KHz | 
 | pointmap: kd-tree 2d query on 10000 scans | 5.20 ms | 192.19  Hz | 
 | pointmap: (insert scan+2D kd-tree query) x 10 | 1.77 ms | 565.21  Hz | 
 | pointmap: (insert scan+2D kd-tree query) x 50 | 43.89 ms | 22.78  Hz | 
 | pointmap: (insert scan+3D kd-tree query) x 10 | 1.82 ms | 549.65  Hz | 
 | pointmap: (insert scan+3D kd-tree query) x 50 | 45.35 ms | 22.05  Hz | 
 | pointmap: computeMatchingWith2D | 30.66 us | 32.62 KHz | 
 | pointmap: boundingBox (10 scans) | 927.89 ns | 1.08 MHz | 
 | pointmap: boundingBox (1000 scans) | 90.74 us | 11.02 KHz | 
 | random: drawUniform32bit | 5.12 ns | 195.36 MHz | 
 | random: drawUniform | 5.06 ns | 197.45 MHz | 
 | random: drawGaussian1D_normalized | 23.05 ns | 43.38 MHz | 
 | random: drawGaussian1D | 22.83 ns | 43.81 MHz | 
 | random: system rand() | 13.49 ns | 74.11 MHz | 
 | random: drawGaussianMultivariate(fixed 3x3) | 642.84 ns | 1.56 MHz | 
 | random: drawGaussianMultivariate(dyn 3x3) | 1.64 us | 609.64 KHz | 
 | random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 62.47 ns | 16.01 MHz | 
 | random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 93.49 ns | 10.70 MHz | 
 | random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 206.29 ns | 4.85 MHz | 
 | random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 67.45 ns | 14.82 MHz | 
 | random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 103.64 ns | 9.65 MHz | 
 | random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 223.65 ns | 4.47 MHz | 
 | random: permuteVector (len=10) | 258.09 ns | 3.87 MHz | 
 | random: permuteVector (len=100) | 2.48 us | 403.96 KHz | 
 | random: permuteVector (len=1000) | 24.52 us | 40.79 KHz | 
 | math: round | 0.00 ns | inf THz | 
 | images: Save as JPEG (640x480, quality=95%) | 16.32 ms | 61.27  Hz | 
 | images: Save as JPEG (800x600, quality=95%) | 24.66 ms | 40.55  Hz | 
 | images: Save as JPEG (1024x768, quality=95%) | 39.84 ms | 25.10  Hz | 
 | images: Save as JPEG (640x480, quality=75%) | 13.46 ms | 74.30  Hz | 
 | images: Save as JPEG (800x600, quality=75%) | 21.00 ms | 47.62  Hz | 
 | images: Save as JPEG (1024x768, quality=75%) | 34.05 ms | 29.37  Hz | 
 | images: Gauss filter (640x480) | 3.23 ms | 309.87  Hz | 
 | images: Gauss filter (800x600) | 3.68 ms | 271.68  Hz | 
 | images: Gauss filter (1024x768) | 6.20 ms | 161.28  Hz | 
 | images: Half sample GRAY (160x120) | 821.05 ns | 1.22 MHz | 
 | images: Half sample GRAY (320x240) | 2.31 us | 432.30 KHz | 
 | images: Half sample GRAY (640x480) | 10.75 us | 93.01 KHz | 
 | images: Half sample GRAY (800x600) | 16.35 us | 61.18 KHz | 
 | images: Half sample GRAY (1024x768) | 27.16 us | 36.82 KHz | 
 | images: Half sample GRAY (1280x1024) | 43.39 us | 23.04 KHz | 
 | images: Half sample RGB (160x120) | 1.67 us | 599.43 KHz | 
 | images: Half sample RGB (320x240) | 6.45 us | 155.02 KHz | 
 | images: Half sample RGB (640x480) | 25.97 us | 38.50 KHz | 
 | images: Half sample RGB (800x600) | 40.08 us | 24.95 KHz | 
 | images: Half sample RGB (1024x768) | 144.64 us | 6.91 KHz | 
 | images: Half sample RGB (1280x1024) | 242.89 us | 4.12 KHz | 
 | images: Half sample smooth GRAY (160x120) | 1.01 us | 993.85 KHz | 
 | images: Half sample smooth GRAY (320x240) | 3.32 us | 301.26 KHz | 
 | images: Half sample smooth GRAY (640x480) | 16.31 us | 61.30 KHz | 
 | images: Half sample smooth GRAY (800x600) | 23.34 us | 42.84 KHz | 
 | images: Half sample smooth GRAY (1024x768) | 38.27 us | 26.13 KHz | 
 | images: Half sample smooth GRAY (1280x1024) | 64.21 us | 15.57 KHz | 
 | images: Half sample smooth RGB (160x120) | 76.20 us | 13.12 KHz | 
 | images: Half sample smooth RGB (320x240) | 59.18 us | 16.90 KHz | 
 | images: Half sample smooth RGB (640x480) | 227.47 us | 4.40 KHz | 
 | images: Half sample smooth RGB (800x600) | 183.77 us | 5.44 KHz | 
 | images: Half sample smooth RGB (1024x768) | 264.07 us | 3.79 KHz | 
 | images: Half sample smooth RGB (1280x1024) | 396.39 us | 2.52 KHz | 
 | images: RGB->GRAY 8u (40x30) | 4.14 us | 241.46 KHz | 
 | images: RGB->GRAY 8u (80x60) | 1.56 us | 640.78 KHz | 
 | images: RGB->GRAY 8u (160x120) | 5.21 us | 192.05 KHz | 
 | images: RGB->GRAY 8u (320x240) | 19.63 us | 50.94 KHz | 
 | images: RGB->GRAY 8u (640x480) | 83.56 us | 11.97 KHz | 
 | images: RGB->GRAY 8u (800x600) | 128.72 us | 7.77 KHz | 
 | images: RGB->GRAY 8u (1024x768) | 205.33 us | 4.87 KHz | 
 | images: RGB->GRAY 8u (1280x1024) | 619.44 us | 1.61 KHz | 
 | images: KLT score (WIN=2 5x5) | 42.54 ns | 23.51 MHz | 
 | images: KLT score (WIN=3 7x7) | 58.71 ns | 17.03 MHz | 
 | images: KLT score (WIN=4 9x9) | 75.41 ns | 13.26 MHz | 
 | images: KLT score (WIN=5 10x10) | 98.57 ns | 10.15 MHz | 
 | images: KLT score (WIN=6 13x13) | 127.98 ns | 7.81 MHz | 
 | images: KLT score (WIN=7 15x15) | 159.87 ns | 6.25 MHz | 
 | images: KLT score (WIN=8 17x17) | 191.81 ns | 5.21 MHz | 
 | images: KLT score (WIN=9 19x19) | 228.52 ns | 4.38 MHz | 
 | images: KLT score (WIN=10 21x21) | 281.51 ns | 3.55 MHz | 
 | images: KLT score (WIN=11 23x23) | 321.97 ns | 3.11 MHz | 
 | images: KLT score (WIN=12 25x25) | 379.96 ns | 2.63 MHz | 
 | images: KLT score (WIN=13 27x27) | 431.81 ns | 2.32 MHz | 
 | images: KLT score (WIN=14 29x29) | 499.79 ns | 2.00 MHz | 
 | images: KLT score (WIN=15 31x31) | 562.76 ns | 1.78 MHz | 
 | images: KLT score (WIN=16 33x33) | 650.17 ns | 1.54 MHz | 
 | images: buildPyramid 640x480,4 levs,no smooth,no gray | 409.68 us | 2.44 KHz | 
 | images: buildPyramid 640x480,4 levs,   smooth,no gray | 655.25 us | 1.53 KHz | 
 | images: buildPyramid 640x480,4 levs,no smooth,   gray | 94.29 us | 10.61 KHz | 
 | images: buildPyramid 640x480,4 levs,   smooth,   gray | 97.03 us | 10.31 KHz | 
 | images: buildPyramid 640x480,8 levs,no smooth,no gray | 409.91 us | 2.44 KHz | 
 | images: buildPyramid 640x480,8 levs,   smooth,no gray | 674.37 us | 1.48 KHz | 
 | images: buildPyramid 640x480,8 levs,no smooth,   gray | 94.55 us | 10.58 KHz | 
 | images: buildPyramid 640x480,8 levs,   smooth,   gray | 101.90 us | 9.81 KHz | 
 | stereo: prepare rectify map 640x480 RGB | 13.57 ms | 73.68  Hz | 
 | stereo: prepare rectify map 800x600 RGB | 19.93 ms | 50.17  Hz | 
 | stereo: prepare rectify map 1024x768 RGB | 32.43 ms | 30.83  Hz | 
 | stereo: prepare rectify map 1024x768->800x600 RGB | 19.83 ms | 50.42  Hz | 
 | stereo: prepare rectify map 1024x768->640x480 RGB | 12.80 ms | 78.10  Hz | 
 | stereo: rectify 640x480 RGB | 1.86 ms | 537.66  Hz | 
 | stereo: rectify 800x600 RGB | 2.68 ms | 373.76  Hz | 
 | stereo: rectify 1024x768 RGB | 4.88 ms | 204.89  Hz | 
 | stereo: rectify 1024x768->800x600 RGB | 2.55 ms | 392.76  Hz | 
 | stereo: rectify 1024x768->640x480 RGB | 1.47 ms | 680.56  Hz | 
 | stereo: rectify 640x480 GRAY | 1.12 ms | 891.97  Hz | 
 | stereo: rectify 800x600 GRAY | 1.35 ms | 742.56  Hz | 
 | stereo: rectify 1024x768 GRAY | 2.55 ms | 392.25  Hz | 
 | stereo: rectify 1024x768->800x600 GRAY | 1.23 ms | 815.21  Hz | 
 | stereo: rectify 1024x768->640x480 GRAY | 1.06 ms | 945.09  Hz | 
 | scan_matching: 6D LS Rigid Trans. [CPose3D] | 8.41 us | 118.86 KHz | 
 | scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 8.38 us | 119.28 KHz | 
 | scan_matching: 6D LS Rigid Trans. [vector of points] | 4.67 us | 214.36 KHz | 
 | scan_matching: leastSquares 2D [x10 corrs] | 104.27 ns | 9.59 MHz | 
 | scan_matching: leastSquares 2D [x100 corrs] | 304.74 ns | 3.28 MHz | 
 | scan_matching: leastSquares 2D [x1000 corrs] | 2.27 us | 440.00 KHz | 
 | feature_extraction [640x480]: Harris | 9.94 ms | 100.59  Hz | 
 | feature_extraction [640x480]: KLT | 9.99 ms | 100.07  Hz | 
 | feature_extraction [640x480]: SIFT | 320.31 ms | 3.12  Hz | 
 | feature_extraction [640x480]: SIFT desc. | 105.33 ms | 9.49  Hz | 
 | feature_extraction [640x480]: SURF | 57.58 ms | 17.37  Hz | 
 | feature_extraction [640x480]: FAST | 1.59 ms | 630.56  Hz | 
 | feature_extraction [640x480]: Spin desc. | 23.87 ms | 41.89  Hz | 
 | feature_extraction [640x480]: FASTER-9 | 1.79 ms | 559.60  Hz | 
 | feature_extraction [640x480]: FASTER-9 (sorted best 200) | 1.53 ms | 652.38  Hz | 
 | feature_extraction [640x480]: FASTER-10 | 1.38 ms | 725.25  Hz | 
 | feature_extraction [640x480]: FASTER-10 (sorted best 200) | 1.13 ms | 885.36  Hz | 
 | feature_extraction [640x480]: FASTER-12 | 1.11 ms | 903.02  Hz | 
 | feature_extraction [640x480]: FASTER-12 (sorted best 200) | 995.24 us | 1.00 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER9() | 460.91 us | 2.17 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER10() | 366.79 us | 2.73 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER12() | 466.68 us | 2.14 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER9()+row-index | 462.72 us | 2.16 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER10()+row-index | 363.34 us | 2.75 KHz | 
 | feature_extraction [640x480]: detectFeatures_SSE2_FASTER12()+row-index | 468.22 us | 2.14 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER9() | 656.72 us | 1.52 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER10() | 475.37 us | 2.10 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER12() | 535.08 us | 1.87 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER9()+row-index | 602.17 us | 1.66 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER10()+row-index | 522.88 us | 1.91 KHz | 
 | feature_extraction [800x600]: detectFeatures_SSE2_FASTER12()+row-index | 539.50 us | 1.85 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER9() | 883.72 us | 1.13 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER10() | 638.43 us | 1.57 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER12() | 589.24 us | 1.70 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER9()+row-index | 802.45 us | 1.25 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER10()+row-index | 715.35 us | 1.40 KHz | 
 | feature_extraction [1024x768]: detectFeatures_SSE2_FASTER12()+row-index | 592.00 us | 1.69 KHz | 
 | feature_matching [640x480]: Harris + CC | 21.49 ms | 46.53  Hz | 
 | feature_matching [640x480]: Harris + SAD | 18.15 ms | 55.10  Hz | 
 | feature_matching [640x480]: SIFT | 623.90 ms | 1.60  Hz | 
 | feature_matching [640x480]: SURF | 95.48 ms | 10.47  Hz | 
 | feature_matching [640x480]: FAST + CC | 6.00 ms | 166.56  Hz | 
 | feature_matching [640x480]: FAST + SAD | 2.63 ms | 380.47  Hz | 
 | graph(2d): insertEdge x 1e3 | 153.48 us | 6.52 KHz | 
 | graph(2d,vec): insertEdge x 1e3 | 146.24 us | 6.84 KHz | 
 | graph(2d): insertEdgeAtEnd x 1e3 | 117.77 us | 8.49 KHz | 
 | graph(2d,vec): insertEdgeAtEnd x 1e3 | 117.80 us | 8.49 KHz | 
 | graph(2d pdf): insertEdge x 1e3 | 215.31 us | 4.64 KHz | 
 | graph(2d pdf,vec): insertEdge x 1e3 | 191.64 us | 5.22 KHz | 
 | graph(2d pdf): insertEdgeAtEnd x 1e3 | 161.44 us | 6.19 KHz | 
 | graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 162.72 us | 6.15 KHz | 
 | graph(2d): insertEdge x 1e4 | 1.95 ms | 513.41  Hz | 
 | graph(2d,vec): insertEdge x 1e4 | 1.91 ms | 523.24  Hz | 
 | graph(2d): insertEdgeAtEnd x 1e4 | 1.18 ms | 845.52  Hz | 
 | graph(2d,vec): insertEdgeAtEnd x 1e4 | 1.19 ms | 842.16  Hz | 
 | graph(2d pdf): insertEdge x 1e4 | 2.26 ms | 443.31  Hz | 
 | graph(2d pdf,vec): insertEdge x 1e4 | 2.07 ms | 484.25  Hz | 
 | graph(2d pdf): insertEdgeAtEnd x 1e4 | 1.62 ms | 615.58  Hz | 
 | graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 1.62 ms | 618.43  Hz | 
 | graph(3d): insertEdge x 1e3 | 165.26 us | 6.05 KHz | 
 | graph(3d,vec): insertEdge x 1e3 | 168.93 us | 5.92 KHz | 
 | graph(3d): insertEdgeAtEnd x 1e3 | 141.01 us | 7.09 KHz | 
 | graph(3d,vec): insertEdgeAtEnd x 1e3 | 142.47 us | 7.02 KHz | 
 | graph(3d pdf): insertEdge x 1e3 | 377.68 us | 2.65 KHz | 
 | graph(3d pdf,vec): insertEdge x 1e3 | 375.08 us | 2.67 KHz | 
 | graph(3d pdf): insertEdgeAtEnd x 1e3 | 318.48 us | 3.14 KHz | 
 | graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 320.43 us | 3.12 KHz | 
 | graph(3d): insertEdge x 1e4 | 1.88 ms | 531.97  Hz | 
 | graph(3d,vec): insertEdge x 1e4 | 1.90 ms | 525.71  Hz | 
 | graph(3d): insertEdgeAtEnd x 1e4 | 1.42 ms | 705.12  Hz | 
 | graph(3d,vec): insertEdgeAtEnd x 1e4 | 1.43 ms | 698.68  Hz | 
 | graph(3d pdf): insertEdge x 1e4 | 4.73 ms | 211.37  Hz | 
 | graph(3d pdf,vec): insertEdge x 1e4 | 4.11 ms | 243.02  Hz | 
 | graph(3d pdf): insertEdgeAtEnd x 1e4 | 3.13 ms | 319.29  Hz | 
 | graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 3.15 ms | 317.06  Hz | 
 | graph(3d): dijkstra 1e2 nodes | 89.02 us | 11.23 KHz | 
 | graph(3d,vec): dijkstra 1e2 nodes | 88.05 us | 11.36 KHz | 
 | graph(3d): dijkstra 1e3 nodes | 1.08 ms | 924.49  Hz | 
 | graph(3d,vec): dijkstra 1e3 nodes | 1.08 ms | 927.62  Hz | 
 | graph(3d): dijkstra 1e4 nodes | 13.21 ms | 75.73  Hz | 
 | graph(3d,vec): dijkstra 1e4 nodes | 13.31 ms | 75.11  Hz | 
 | graph(3d): dijkstra 1e5 nodes | 175.87 ms | 5.69  Hz | 
 | graph(3d,vec): dijkstra 1e5 nodes | 176.57 ms | 5.66  Hz | 
 | graph(2d): dijkstra 1e5 nodes | 173.83 ms | 5.75  Hz | 
 | graph(2d,vec): dijkstra 1e5 nodes | 173.63 ms | 5.76  Hz |