Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 34.80 ms | 28.74 Hz |
icp-slam (match grid): Run with sample dataset | 35.67 ms | 28.04 Hz |
poses: CPose3D (+) CPose3D | 922.13 ns | 1.08 MHz |
poses: CPose3D.composeFrom() | 597.07 ns | 1.67 MHz |
poses: CPose3D (+) CPoint3D | 36.64 ns | 27.29 MHz |
poses: CPose3D.composePoint() | 15.75 ns | 63.47 MHz |
poses: CPoint3D (-) CPose3D | 67.11 ns | 14.90 MHz |
poses: CPose3D.inverseComposePoint() | 64.15 ns | 15.59 MHz |
poses: CPose2D (+) CPose2D | 139.02 ns | 7.19 MHz |
poses: CPose2D.composeFrom() | 70.60 ns | 14.16 MHz |
poses: CPose2D (+) CPoint2D | 110.57 ns | 9.04 MHz |
poses: CPose2D.composePoint() | 76.88 ns | 13.01 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 104.50 ns | 9.57 MHz |
poses: CPose3DQuat.composeFrom() | 63.42 ns | 15.77 MHz |
poses: CPose3DQuat (+) CPoint3D | 81.69 ns | 12.24 MHz |
poses: CPose3DQuat.composePoint() | 34.68 ns | 28.83 MHz |
poses: CPoint3D (-) CPose3DQuat | 659.09 ns | 1.52 MHz |
poses: CPose3DQuat.invcomposePoint() | 37.18 ns | 26.90 MHz |
poses: Conv CPose3DQuat <- CPose3D | 525.95 ns | 1.90 MHz |
poses: Conv CPose3D -> CPose3DQuat | 257.78 ns | 3.88 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 2.96 us | 338.05 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 2.57 us | 389.31 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 43.68 us | 22.90 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 1.73 us | 576.43 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 1.54 us | 647.63 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 14.80 us | 67.58 KHz |
matrix: unit, dyn[float], 3x3 | 40.82 ns | 24.50 MHz |
matrix: unit, dyn[double], 3x3 | 40.15 ns | 24.91 MHz |
matrix: unit, dyn[float], 6x6 | 152.60 ns | 6.55 MHz |
matrix: unit, dyn[double], 6x6 | 151.54 ns | 6.60 MHz |
matrix: unit, fix[float,3,3] | 3.07 ns | 326.19 MHz |
matrix: unit, fix[double,3,3] | 3.12 ns | 320.46 MHz |
matrix: unit, fix[float,6,6] | 6.13 ns | 163.21 MHz |
matrix: unit, fix[double,6,6] | 5.90 ns | 169.43 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 186.55 ns | 5.36 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 114.31 ns | 8.75 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 169.93 ns | 5.88 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 82.79 ns | 12.08 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 281.94 ns | 3.55 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 203.54 ns | 4.91 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 251.68 ns | 3.97 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 137.64 ns | 7.27 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 17.07 us | 58.58 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 13.35 us | 74.89 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 15.09 us | 66.29 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 10.27 us | 97.33 KHz |
matrix: inv, dyn[float ] 3x3 | 2.22 us | 450.32 KHz |
matrix: inv, fix[float ] 3x3 | 59.78 ns | 16.73 MHz |
matrix: inv, dyn[double] 3x3 | 1.59 us | 627.08 KHz |
matrix: inv, fix[double] 3x3 | 31.70 ns | 31.54 MHz |
matrix: inv, dyn[float ] 6x6 | 4.95 us | 201.83 KHz |
matrix: inv, fix[float ] 6x6 | 1.20 us | 832.25 KHz |
matrix: inv, dyn[double] 6x6 | 4.77 us | 209.67 KHz |
matrix: inv, fix[double] 6x6 | 855.55 ns | 1.17 MHz |
matrix: inv, dyn[float ] 20x20 | 120.01 us | 8.33 KHz |
matrix: inv, fix[float ] 20x20 | 37.80 us | 26.45 KHz |
matrix: inv, dyn[double] 20x20 | 112.33 us | 8.90 KHz |
matrix: inv, fix[double] 20x20 | 25.75 us | 38.83 KHz |
matrix: inv, dyn[float ] 40x40 | 917.14 us | 1.09 KHz |
matrix: inv, fix[float ] 40x40 | 335.57 us | 2.98 KHz |
matrix: inv, dyn[double] 40x40 | 839.84 us | 1.19 KHz |
matrix: inv, fix[double] 40x40 | 144.93 us | 6.90 KHz |
matrix: det, dyn[float ] 2x2 | 9.15 ns | 109.30 MHz |
matrix: det, fix[float ] 2x2 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 2x2 | 8.70 ns | 115.00 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | 1.#J THz |
matrix: det, dyn[float ] 3x3 | 22.46 ns | 44.52 MHz |
matrix: det, fix[float ] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 3x3 | 16.26 ns | 61.50 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[float ] 6x6 | 2.15 us | 466.19 KHz |
matrix: det, fix[float ] 6x6 | 426.37 ns | 2.35 MHz |
matrix: det, dyn[double] 6x6 | 2.05 us | 487.09 KHz |
matrix: det, fix[double] 6x6 | 292.76 ns | 3.42 MHz |
matrix: det, dyn[float ] 20x20 | 14.60 us | 68.48 KHz |
matrix: det, fix[float ] 20x20 | 9.64 us | 103.74 KHz |
matrix: det, dyn[double] 20x20 | 9.37 us | 106.69 KHz |
matrix: det, fix[double] 20x20 | 6.08 us | 164.49 KHz |
matrix: det, dyn[float ] 40x40 | 72.04 us | 13.88 KHz |
matrix: det, fix[float ] 40x40 | 63.57 us | 15.73 KHz |
matrix: det, dyn[double] 40x40 | 41.90 us | 23.87 KHz |
matrix: det, fix[double] 40x40 | 32.92 us | 30.37 KHz |
gridmap2D: getCell | 4.81 ns | 207.74 MHz |
gridmap2D: setCell | 9.32 ns | 107.27 MHz |
gridmap2D: updateCell | 9.47 ns | 105.65 MHz |
gridmap2D: updateCell_fast_occupied | 1.20 ns | 834.01 MHz |
gridmap2D: insert scan w/o widening | 205.58 us | 4.86 KHz |
gridmap2D: insert scan with widening | 330.14 us | 3.03 KHz |
gridmap2D: resize | 2.55 ms | 391.48 Hz |
gridmap2D: computeLikelihood | 18.16 us | 55.05 KHz |
pointmap: insert 100 scans | 5.20 ms | 192.30 Hz |
pointmap: build 2D kd-tree of 1 scan | 6.41 us | 155.93 KHz |
pointmap: build 2D kd-tree of 100 scan | 608.84 us | 1.64 KHz |
pointmap: build 2D kd-tree of 1000 scan | 5.82 ms | 171.92 Hz |
pointmap: build 3D kd-tree of 1 scan | 7.03 us | 142.26 KHz |
pointmap: build 3D kd-tree of 100 scan | 556.81 us | 1.80 KHz |
pointmap: build 3D kd-tree of 1000 scan | 5.85 ms | 171.04 Hz |
pointmap: kd-tree 2d query on 10 scans | 2.05 us | 487.73 KHz |
pointmap: kd-tree 2d query on 1000 scans | 144.02 us | 6.94 KHz |
pointmap: kd-tree 2d query on 10000 scans | 15.88 ms | 62.98 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 8.44 ms | 118.52 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 196.59 ms | 5.09 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 8.57 ms | 116.70 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 200.46 ms | 4.99 Hz |
random: drawUniform32bit | 7.64 ns | 130.94 MHz |
random: drawUniform | 7.66 ns | 130.56 MHz |
random: drawGaussian1D_normalized | 50.66 ns | 19.74 MHz |
random: drawGaussian1D | 50.61 ns | 19.76 MHz |
random: system rand() | 27.28 ns | 36.66 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 1.72 us | 581.91 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 6.74 us | 148.26 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 176.28 ns | 5.67 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 252.43 ns | 3.96 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 498.91 ns | 2.00 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 183.92 ns | 5.44 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 260.35 ns | 3.84 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 502.45 ns | 1.99 MHz |
random: permuteVector (len=10) | 336.65 ns | 2.97 MHz |
random: permuteVector (len=100) | 3.30 us | 303.20 KHz |
random: permuteVector (len=1000) | 32.85 us | 30.44 KHz |
math: round | 0.00 ns | 1.#J THz |
images: Save as JPEG (640x480, quality=95%) | 30.01 ms | 33.32 Hz |
images: Save as JPEG (800x600, quality=95%) | 46.70 ms | 21.41 Hz |
images: Save as JPEG (1024x768, quality=95%) | 74.99 ms | 13.34 Hz |
images: Save as JPEG (640x480, quality=75%) | 24.98 ms | 40.04 Hz |
images: Save as JPEG (800x600, quality=75%) | 38.57 ms | 25.93 Hz |
images: Save as JPEG (1024x768, quality=75%) | 62.97 ms | 15.88 Hz |
images: Gauss filter (640x480) | 5.39 ms | 185.47 Hz |
images: Gauss filter (800x600) | 8.49 ms | 117.79 Hz |
images: Gauss filter (1024x768) | 14.57 ms | 68.63 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 16.01 us | 62.46 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 13.95 us | 71.66 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 3.65 us | 273.60 KHz |
feature_extraction [640x480]: Harris | 35.13 ms | 28.46 Hz |
feature_extraction [640x480]: KLT | 34.95 ms | 28.61 Hz |
feature_extraction [640x480]: SIFT | 695.52 ms | 1.44 Hz |
feature_extraction [640x480]: SIFT desc. | 214.05 ms | 4.67 Hz |
feature_extraction [640x480]: SURF | 320.24 ms | 3.12 Hz |
feature_extraction [640x480]: FAST | 8.10 ms | 123.41 Hz |
feature_extraction [640x480]: Spin desc. | 88.19 ms | 11.34 Hz |
feature_matching [640x480]: Harris + CC | 59.77 ms | 16.73 Hz |
feature_matching [640x480]: Harris + SAD | 51.36 ms | 19.47 Hz |
feature_matching [640x480]: SIFT | 1.37 sec | 731.43 mHz |
feature_matching [640x480]: SURF | 610.22 ms | 1.64 Hz |
feature_matching [640x480]: FAST + CC | 17.38 ms | 57.54 Hz |
feature_matching [640x480]: FAST + SAD | 8.85 ms | 113.05 Hz |