Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 31.78 ms | 31.46 Hz |
icp-slam (match grid): Run with sample dataset | 53.70 ms | 18.62 Hz |
poses: CPose3D (+) CPose3D | 925.38 ns | 1.08 MHz |
poses: CPose3D.composeFrom() | 617.00 ns | 1.62 MHz |
poses: CPose3D (+) CPoint3D | 35.98 ns | 27.80 MHz |
poses: CPose3D.composePoint() | 14.62 ns | 68.42 MHz |
poses: CPoint3D (-) CPose3D | 75.43 ns | 13.26 MHz |
poses: CPose3D.inverseComposePoint() | 56.48 ns | 17.70 MHz |
poses: CPose2D (+) CPose2D | 121.60 ns | 8.22 MHz |
poses: CPose2D.composeFrom() | 66.63 ns | 15.01 MHz |
poses: CPose2D (+) CPoint2D | 93.73 ns | 10.67 MHz |
poses: CPose2D.composePoint() | 62.24 ns | 16.07 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 100.74 ns | 9.93 MHz |
poses: CPose3DQuat.composeFrom() | 57.92 ns | 17.26 MHz |
poses: CPose3DQuat (+) CPoint3D | 61.33 ns | 16.31 MHz |
poses: CPose3DQuat.composePoint() | 27.34 ns | 36.57 MHz |
poses: CPoint3D (-) CPose3DQuat | 580.67 ns | 1.72 MHz |
poses: CPose3DQuat.invcomposePoint() | 28.18 ns | 35.48 MHz |
poses: Conv CPose3DQuat <- CPose3D | 506.67 ns | 1.97 MHz |
poses: Conv CPose3D -> CPose3DQuat | 214.86 ns | 4.65 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 1.56 us | 642.96 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 1.51 us | 663.83 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 23.29 us | 42.94 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 1.64 us | 609.77 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 1.66 us | 600.84 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 16.05 us | 62.32 KHz |
matrix: unit, dyn[float], 3x3 | 39.66 ns | 25.22 MHz |
matrix: unit, dyn[double], 3x3 | 42.75 ns | 23.39 MHz |
matrix: unit, dyn[float], 6x6 | 152.29 ns | 6.57 MHz |
matrix: unit, dyn[double], 6x6 | 150.45 ns | 6.65 MHz |
matrix: unit, fix[float,3,3] | 3.30 ns | 303.37 MHz |
matrix: unit, fix[double,3,3] | 3.48 ns | 287.56 MHz |
matrix: unit, fix[float,6,6] | 3.06 ns | 327.19 MHz |
matrix: unit, fix[double,6,6] | 6.65 ns | 150.48 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 167.81 ns | 5.96 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 108.61 ns | 9.21 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 158.88 ns | 6.29 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 90.86 ns | 11.01 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 272.47 ns | 3.67 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 193.12 ns | 5.18 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 238.91 ns | 4.19 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 139.05 ns | 7.19 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 16.80 us | 59.51 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 13.06 us | 76.57 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 13.55 us | 73.81 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 9.96 us | 100.40 KHz |
matrix: inv, dyn[float ] 3x3 | 1.50 us | 665.84 KHz |
matrix: inv, fix[float ] 3x3 | 59.79 ns | 16.73 MHz |
matrix: inv, dyn[double] 3x3 | 1.53 us | 652.84 KHz |
matrix: inv, fix[double] 3x3 | 31.25 ns | 32.00 MHz |
matrix: inv, dyn[float ] 6x6 | 5.07 us | 197.26 KHz |
matrix: inv, fix[float ] 6x6 | 1.33 us | 749.46 KHz |
matrix: inv, dyn[double] 6x6 | 5.08 us | 196.68 KHz |
matrix: inv, fix[double] 6x6 | 926.67 ns | 1.08 MHz |
matrix: inv, dyn[float ] 20x20 | 81.86 us | 12.22 KHz |
matrix: inv, fix[float ] 20x20 | 40.71 us | 24.56 KHz |
matrix: inv, dyn[double] 20x20 | 108.60 us | 9.21 KHz |
matrix: inv, fix[double] 20x20 | 19.22 us | 52.02 KHz |
matrix: inv, dyn[float ] 40x40 | 609.15 us | 1.64 KHz |
matrix: inv, fix[float ] 40x40 | 307.68 us | 3.25 KHz |
matrix: inv, dyn[double] 40x40 | 818.27 us | 1.22 KHz |
matrix: inv, fix[double] 40x40 | 136.18 us | 7.34 KHz |
matrix: det, dyn[float ] 2x2 | 9.15 ns | 109.30 MHz |
matrix: det, fix[float ] 2x2 | 0.00 ns | inf THz |
matrix: det, dyn[double] 2x2 | 9.56 ns | 104.64 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | inf THz |
matrix: det, dyn[float ] 3x3 | 19.70 ns | 50.76 MHz |
matrix: det, fix[float ] 3x3 | 0.00 ns | inf THz |
matrix: det, dyn[double] 3x3 | 15.90 ns | 62.90 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | inf THz |
matrix: det, dyn[float ] 6x6 | 2.32 us | 431.38 KHz |
matrix: det, fix[float ] 6x6 | 434.76 ns | 2.30 MHz |
matrix: det, dyn[double] 6x6 | 2.38 us | 420.40 KHz |
matrix: det, fix[double] 6x6 | 422.89 ns | 2.36 MHz |
matrix: det, dyn[float ] 20x20 | 18.34 us | 54.54 KHz |
matrix: det, fix[float ] 20x20 | 9.85 us | 101.56 KHz |
matrix: det, dyn[double] 20x20 | 18.19 us | 54.99 KHz |
matrix: det, fix[double] 20x20 | 6.52 us | 153.30 KHz |
matrix: det, dyn[float ] 40x40 | 111.92 us | 8.93 KHz |
matrix: det, fix[float ] 40x40 | 63.43 us | 15.77 KHz |
matrix: det, dyn[double] 40x40 | 114.84 us | 8.71 KHz |
matrix: det, fix[double] 40x40 | 36.00 us | 27.78 KHz |
matrix: chol, dyn[double] 4x4 | 185.70 ns | 5.39 MHz |
matrix: chol, fix[double] 4x4 | 113.23 ns | 8.83 MHz |
matrix: chol, dyn[double] 40x40 | 24.43 us | 40.93 KHz |
matrix: chol, fix[double] 40x40 | 17.73 us | 56.40 KHz |
matrix: chol, sparse [2x2;2x2] | 10.78 us | 92.77 KHz |
matrix: chol, sparse [30x30;10x10] | 117.89 us | 8.48 KHz |
matrix: chol, dyn[double] 10x[6x6] | 70.52 us | 14.18 KHz |
matrix: chol, sparse 10x[6x6] | 52.59 us | 19.02 KHz |
matrix: chol, dyn[double] 20x[6x6] | 491.10 us | 2.04 KHz |
matrix: chol, sparse 20x[6x6] | 85.83 us | 11.65 KHz |
matrix: chol, dyn[double] 50x[6x6] | 9.44 ms | 105.88 Hz |
matrix: chol, sparse 50x[6x6] | 204.52 us | 4.89 KHz |
matrix: chol, dyn[double] 100x[6x6] | 150.13 ms | 6.66 Hz |
matrix: chol, sparse 100x[6x6] | 415.58 us | 2.41 KHz |
matrix: chol, dyn[double] 120x[6x6] | 461.43 ms | 2.17 Hz |
matrix: chol, sparse 120x[6x6] | 484.92 us | 2.06 KHz |
matrix: chol, dyn[double] 140x[6x6] | 947.45 ms | 1.06 Hz |
matrix: chol, sparse 140x[6x6] | 586.44 us | 1.71 KHz |
gridmap2D: getCell | 5.77 ns | 173.23 MHz |
gridmap2D: setCell | 7.96 ns | 125.64 MHz |
gridmap2D: updateCell | 10.80 ns | 92.58 MHz |
gridmap2D: updateCell_fast_occupied | 1.21 ns | 826.59 MHz |
gridmap2D: insert scan w/o widening | 204.23 us | 4.90 KHz |
gridmap2D: insert scan with widening | 344.40 us | 2.90 KHz |
gridmap2D: resize | 2.62 ms | 381.93 Hz |
gridmap2D: computeLikelihood | 18.59 us | 53.79 KHz |
pointmap: insert 100 scans | 5.62 ms | 178.02 Hz |
pointmap: build 2D kd-tree of 1 scan | 6.21 us | 160.93 KHz |
pointmap: build 2D kd-tree of 100 scan | 511.81 us | 1.95 KHz |
pointmap: build 2D kd-tree of 1000 scan | 5.59 ms | 178.86 Hz |
pointmap: build 3D kd-tree of 1 scan | 7.23 us | 138.34 KHz |
pointmap: build 3D kd-tree of 100 scan | 523.10 us | 1.91 KHz |
pointmap: build 3D kd-tree of 1000 scan | 5.77 ms | 173.21 Hz |
pointmap: kd-tree 2d query on 10 scans | 2.05 us | 487.07 KHz |
pointmap: kd-tree 2d query on 1000 scans | 140.79 us | 7.10 KHz |
pointmap: kd-tree 2d query on 10000 scans | 15.17 ms | 65.91 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 8.69 ms | 115.01 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 196.44 ms | 5.09 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 8.73 ms | 114.60 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 198.48 ms | 5.04 Hz |
random: drawUniform32bit | 7.29 ns | 137.11 MHz |
random: drawUniform | 7.33 ns | 136.49 MHz |
random: drawGaussian1D_normalized | 51.27 ns | 19.50 MHz |
random: drawGaussian1D | 51.74 ns | 19.33 MHz |
random: system rand() | 29.39 ns | 34.03 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 2.64 us | 378.48 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 8.53 us | 117.18 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 215.16 ns | 4.65 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 359.98 ns | 2.78 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 732.12 ns | 1.37 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 213.59 ns | 4.68 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 339.30 ns | 2.95 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 760.92 ns | 1.31 MHz |
random: permuteVector (len=10) | 411.34 ns | 2.43 MHz |
random: permuteVector (len=100) | 3.59 us | 278.70 KHz |
random: permuteVector (len=1000) | 34.34 us | 29.12 KHz |
math: round | 0.00 ns | inf THz |
images: Save as JPEG (640x480, quality=95%) | 27.92 ms | 35.81 Hz |
images: Save as JPEG (800x600, quality=95%) | 43.53 ms | 22.97 Hz |
images: Save as JPEG (1024x768, quality=95%) | 70.76 ms | 14.13 Hz |
images: Save as JPEG (640x480, quality=75%) | 23.43 ms | 42.67 Hz |
images: Save as JPEG (800x600, quality=75%) | 36.52 ms | 27.39 Hz |
images: Save as JPEG (1024x768, quality=75%) | 59.82 ms | 16.72 Hz |
images: Gauss filter (640x480) | 6.68 ms | 149.74 Hz |
images: Gauss filter (800x600) | 8.62 ms | 116.03 Hz |
images: Gauss filter (1024x768) | 14.49 ms | 69.01 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 21.12 us | 47.34 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 19.36 us | 51.65 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 6.24 us | 160.34 KHz |
feature_extraction [640x480]: Harris | 40.83 ms | 24.49 Hz |
feature_extraction [640x480]: KLT | 33.62 ms | 29.75 Hz |
feature_extraction [640x480]: SIFT | 705.28 ms | 1.42 Hz |
feature_extraction [640x480]: SIFT desc. | 214.22 ms | 4.67 Hz |
feature_extraction [640x480]: SURF | 326.57 ms | 3.06 Hz |
feature_extraction [640x480]: FAST | 7.69 ms | 130.08 Hz |
feature_extraction [640x480]: Spin desc. | 105.90 ms | 9.44 Hz |
feature_matching [640x480]: Harris + CC | 57.67 ms | 17.34 Hz |
feature_matching [640x480]: Harris + SAD | 50.27 ms | 19.89 Hz |
feature_matching [640x480]: SIFT | 1.38 sec | 724.62 mHz |
feature_matching [640x480]: SURF | 618.66 ms | 1.62 Hz |
feature_matching [640x480]: FAST + CC | 22.11 ms | 45.22 Hz |
feature_matching [640x480]: FAST + SAD | 14.58 ms | 68.57 Hz |
graph(2d): insertEdge x 1e3 | 354.58 us | 2.82 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 284.04 us | 3.52 KHz |
graph(2d pdf): insertEdge x 1e3 | 549.28 us | 1.82 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 452.79 us | 2.21 KHz |
graph(2d): insertEdge x 1e4 | 3.86 ms | 259.12 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 2.88 ms | 347.75 Hz |
graph(2d pdf): insertEdge x 1e4 | 5.74 ms | 174.28 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 4.44 ms | 225.33 Hz |
graph(3d): insertEdge x 1e3 | 1.35 ms | 743.07 Hz |
graph(3d): insertEdgeAtEnd x 1e3 | 1.09 ms | 917.96 Hz |
graph(3d pdf): insertEdge x 1e3 | 1.74 ms | 573.66 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 1.46 ms | 683.28 Hz |
graph(3d): insertEdge x 1e4 | 13.92 ms | 71.86 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 11.12 ms | 89.92 Hz |
graph(3d pdf): insertEdge x 1e4 | 17.58 ms | 56.89 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 14.12 ms | 70.81 Hz |