Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 20.97 ms | 47.68 Hz |
icp-slam (match grid): Run with sample dataset | 19.30 ms | 51.81 Hz |
poses: CPose3D (+) CPose3D | 445.76 ns | 2.24 MHz |
poses: CPose3D.composeFrom() | 231.93 ns | 4.31 MHz |
poses: CPose3D (+) CPoint3D | 10.82 ns | 92.46 MHz |
poses: CPose3D.composePoint() | 10.06 ns | 99.40 MHz |
poses: CPoint3D (-) CPose3D | 37.73 ns | 26.51 MHz |
poses: CPose3D.inverseComposePoint() | 39.77 ns | 25.14 MHz |
poses: CPose2D (+) CPose2D | 78.45 ns | 12.75 MHz |
poses: CPose2D.composeFrom() | 59.72 ns | 16.74 MHz |
poses: CPose2D (+) CPoint2D | 62.71 ns | 15.95 MHz |
poses: CPose2D.composePoint() | 61.15 ns | 16.35 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 46.02 ns | 21.73 MHz |
poses: CPose3DQuat.composeFrom() | 39.14 ns | 25.55 MHz |
poses: CPose3DQuat (+) CPoint3D | 22.75 ns | 43.96 MHz |
poses: CPose3DQuat.composePoint() | 17.81 ns | 56.14 MHz |
poses: CPoint3D (-) CPose3DQuat | 385.84 ns | 2.59 MHz |
poses: CPose3DQuat.invcomposePoint() | 17.64 ns | 56.70 MHz |
poses: Conv CPose3DQuat <- CPose3D | 351.01 ns | 2.85 MHz |
poses: Conv CPose3D -> CPose3DQuat | 170.83 ns | 5.85 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 814.59 us | 1.23 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 804.30 us | 1.24 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 9.58 us | 104.43 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 526.00 ns | 1.90 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 528.30 ns | 1.89 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 8.34 us | 119.83 KHz |
matrix: unit, dyn[float], 3x3 | 23.47 ns | 42.60 MHz |
matrix: unit, dyn[double], 3x3 | 19.09 ns | 52.39 MHz |
matrix: unit, dyn[float], 6x6 | 62.13 ns | 16.10 MHz |
matrix: unit, dyn[double], 6x6 | 59.29 ns | 16.87 MHz |
matrix: unit, fix[float,3,3] | 0.35 ns | 2.88 GHz |
matrix: unit, fix[double,3,3] | 1.19 ns | 842.46 MHz |
matrix: unit, fix[float,6,6] | 1.68 ns | 594.18 MHz |
matrix: unit, fix[double,6,6] | 2.77 ns | 360.88 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 71.10 ns | 14.06 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 23.80 ns | 42.02 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 72.20 ns | 13.85 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 24.60 ns | 40.65 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 111.50 ns | 8.97 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 44.80 ns | 22.32 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 110.50 ns | 9.05 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 45.30 ns | 22.08 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 5.27 us | 189.79 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 3.54 us | 282.22 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 5.30 us | 188.66 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 3.53 us | 282.97 KHz |
matrix: inv, dyn[float ] 3x3 | 439.00 ns | 2.28 MHz |
matrix: inv, fix[float ] 3x3 | 29.00 ns | 34.48 MHz |
matrix: inv, dyn[double] 3x3 | 311.60 ns | 3.21 MHz |
matrix: inv, fix[double] 3x3 | 22.00 ns | 45.45 MHz |
matrix: inv, dyn[float ] 6x6 | 1.22 us | 817.59 KHz |
matrix: inv, fix[float ] 6x6 | 465.00 ns | 2.15 MHz |
matrix: inv, dyn[double] 6x6 | 1.29 us | 773.81 KHz |
matrix: inv, fix[double] 6x6 | 576.00 ns | 1.74 MHz |
matrix: inv, dyn[float ] 20x20 | 25.87 us | 38.65 KHz |
matrix: inv, fix[float ] 20x20 | 12.13 us | 82.47 KHz |
matrix: inv, dyn[double] 20x20 | 25.53 us | 39.16 KHz |
matrix: inv, fix[double] 20x20 | 17.52 us | 57.07 KHz |
matrix: inv, dyn[float ] 40x40 | 192.74 us | 5.19 KHz |
matrix: inv, fix[float ] 40x40 | 89.67 us | 11.15 KHz |
matrix: inv, dyn[double] 40x40 | 190.08 us | 5.26 KHz |
matrix: inv, fix[double] 40x40 | 125.53 us | 7.97 KHz |
matrix: det, dyn[float ] 2x2 | 6.40 ns | 156.25 MHz |
matrix: det, fix[float ] 2x2 | 0.00 ns | inf THz |
matrix: det, dyn[double] 2x2 | 6.40 ns | 156.25 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | inf THz |
matrix: det, dyn[float ] 3x3 | 10.30 ns | 97.09 MHz |
matrix: det, fix[float ] 3x3 | 0.00 ns | inf THz |
matrix: det, dyn[double] 3x3 | 10.30 ns | 97.09 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | inf THz |
matrix: det, dyn[float ] 6x6 | 671.10 ns | 1.49 MHz |
matrix: det, fix[float ] 6x6 | 208.10 ns | 4.81 MHz |
matrix: det, dyn[double] 6x6 | 688.50 ns | 1.45 MHz |
matrix: det, fix[double] 6x6 | 211.60 ns | 4.73 MHz |
matrix: det, dyn[float ] 20x20 | 5.29 us | 189.04 KHz |
matrix: det, fix[float ] 20x20 | 3.92 us | 255.03 KHz |
matrix: det, dyn[double] 20x20 | 6.35 us | 157.42 KHz |
matrix: det, fix[double] 20x20 | 4.78 us | 209.31 KHz |
matrix: det, dyn[float ] 40x40 | 30.44 us | 32.86 KHz |
matrix: det, fix[float ] 40x40 | 26.31 us | 38.00 KHz |
matrix: det, dyn[double] 40x40 | 32.29 us | 30.97 KHz |
matrix: det, fix[double] 40x40 | 27.23 us | 36.72 KHz |
gridmap2D: getCell | 0.00 ns | inf THz |
gridmap2D: setCell | 2.58 ns | 387.82 MHz |
gridmap2D: updateCell | 7.51 ns | 133.08 MHz |
gridmap2D: updateCell_fast_occupied | 0.55 ns | 1.83 GHz |
gridmap2D: insert scan w/o widening | 103.54 us | 9.66 KHz |
gridmap2D: insert scan with widening | 292.23 us | 3.42 KHz |
gridmap2D: resize | 1.81 ms | 551.57 Hz |
gridmap2D: computeLikelihood | 16.32 us | 61.26 KHz |
pointmap: insert 100 scans | 3.12 ms | 320.32 Hz |
pointmap: build 2D kd-tree of 1 scan | 4.36 us | 229.36 KHz |
pointmap: build 2D kd-tree of 100 scan | 358.96 us | 2.79 KHz |
pointmap: build 2D kd-tree of 1000 scan | 4.26 ms | 235.01 Hz |
pointmap: build 3D kd-tree of 1 scan | 4.80 us | 208.33 KHz |
pointmap: build 3D kd-tree of 100 scan | 399.64 us | 2.50 KHz |
pointmap: build 3D kd-tree of 1000 scan | 4.18 ms | 239.09 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.40 us | 713.78 KHz |
pointmap: kd-tree 2d query on 1000 scans | 101.54 us | 9.85 KHz |
pointmap: kd-tree 2d query on 10000 scans | 11.86 ms | 84.33 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 5.80 ms | 172.54 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 132.94 ms | 7.52 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 5.87 ms | 170.41 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 135.17 ms | 7.40 Hz |
random: drawUniform32bit | 14.58 ns | 68.58 MHz |
random: drawUniform | 14.57 ns | 68.62 MHz |
random: drawGaussian1D_normalized | 68.87 ns | 14.52 MHz |
random: drawGaussian1D | 68.81 ns | 14.53 MHz |
random: system rand() | 10.48 ns | 95.46 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 1.31 us | 762.39 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 2.71 us | 368.59 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 158.38 ns | 6.31 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 237.11 ns | 4.22 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 491.14 ns | 2.04 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 165.03 ns | 6.06 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 247.75 ns | 4.04 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 511.39 ns | 1.96 MHz |
random: permuteVector (len=10) | 292.30 ns | 3.42 MHz |
random: permuteVector (len=100) | 3.04 us | 329.13 KHz |
random: permuteVector (len=1000) | 30.29 us | 33.02 KHz |
math: round | 0.10 ns | 10.09 GHz |
images: Save as JPEG (640x480, quality=95%) | 38.15 ms | 26.21 Hz |
images: Save as JPEG (800x600, quality=95%) | 52.74 ms | 18.96 Hz |
images: Save as JPEG (1024x768, quality=95%) | 77.23 ms | 12.95 Hz |
images: Save as JPEG (640x480, quality=75%) | 27.97 ms | 35.75 Hz |
images: Save as JPEG (800x600, quality=75%) | 37.34 ms | 26.78 Hz |
images: Save as JPEG (1024x768, quality=75%) | 60.56 ms | 16.51 Hz |
images: Gauss filter (640x480) | 4.97 ms | 201.39 Hz |
images: Gauss filter (800x600) | 6.13 ms | 163.07 Hz |
images: Gauss filter (1024x768) | 10.29 ms | 97.16 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 5.92 us | 168.92 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 4.87 us | 205.34 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 2.19 us | 456.62 KHz |
feature_extraction [640x480]: Harris | 27.17 ms | 36.81 Hz |
feature_extraction [640x480]: KLT | 27.04 ms | 36.98 Hz |
feature_extraction [640x480]: SIFT | 611.52 ms | 1.64 Hz |
feature_extraction [640x480]: SIFT desc. | 166.42 ms | 6.01 Hz |
feature_extraction [640x480]: SURF | 200.74 ms | 4.98 Hz |
feature_extraction [640x480]: FAST | 6.01 ms | 166.50 Hz |
feature_extraction [640x480]: Spin desc. | 59.83 ms | 16.71 Hz |
feature_matching [640x480]: Harris + CC | 43.20 ms | 23.15 Hz |
feature_matching [640x480]: Harris + SAD | 37.41 ms | 26.73 Hz |
feature_matching [640x480]: SIFT | 1.28 sec | 782.50 mHz |
feature_matching [640x480]: SURF | 395.87 ms | 2.53 Hz |
feature_matching [640x480]: FAST + CC | 13.71 ms | 72.91 Hz |
feature_matching [640x480]: FAST + SAD | 6.59 ms | 151.76 Hz |