Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 20.10 ms | 49.76 Hz |
icp-slam (match grid): Run with sample dataset | 20.65 ms | 48.43 Hz |
poses: CPose3D (+) CPose3D | 48.78 ns | 20.50 MHz |
poses: CPose3D.composeFrom() | 31.04 ns | 32.22 MHz |
poses: CPose3D (+) CPoint3D | 10.51 ns | 95.17 MHz |
poses: CPose3D.composePoint() | 18.30 ns | 54.64 MHz |
poses: CPoint3D (-) CPose3D | 130.15 ns | 7.68 MHz |
poses: CPose3D.inverseComposePoint() | 130.82 ns | 7.64 MHz |
poses: CPose2D (+) CPose2D | 91.34 ns | 10.95 MHz |
poses: CPose2D.composeFrom() | 62.17 ns | 16.08 MHz |
poses: CPose2D (+) CPoint2D | 63.86 ns | 15.66 MHz |
poses: CPose2D.composePoint() | 61.43 ns | 16.28 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 46.65 ns | 21.44 MHz |
poses: CPose3DQuat.composeFrom() | 39.38 ns | 25.39 MHz |
poses: CPose3DQuat (+) CPoint3D | 22.89 ns | 43.69 MHz |
poses: CPose3DQuat.composePoint() | 17.94 ns | 55.74 MHz |
poses: CPoint3D (-) CPose3DQuat | 478.14 ns | 2.09 MHz |
poses: CPose3DQuat.invcomposePoint() | 17.67 ns | 56.61 MHz |
poses: Conv CPose3DQuat <- CPose3D | 349.62 ns | 2.86 MHz |
poses: Conv CPose3D -> CPose3DQuat | 172.17 ns | 5.81 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 798.93 us | 1.25 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 796.59 us | 1.26 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 9.48 us | 105.46 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 527.00 ns | 1.90 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 525.70 ns | 1.90 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 8.29 us | 120.67 KHz |
matrix: unit, dyn[float], 3x3 | 20.14 ns | 49.66 MHz |
matrix: unit, dyn[double], 3x3 | 19.37 ns | 51.62 MHz |
matrix: unit, dyn[float], 6x6 | 54.21 ns | 18.45 MHz |
matrix: unit, dyn[double], 6x6 | 56.30 ns | 17.76 MHz |
matrix: unit, fix[float,3,3] | 0.35 ns | 2.89 GHz |
matrix: unit, fix[double,3,3] | 1.20 ns | 831.26 MHz |
matrix: unit, fix[float,6,6] | 1.68 ns | 594.53 MHz |
matrix: unit, fix[double,6,6] | 2.78 ns | 359.97 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 72.90 ns | 13.72 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 23.80 ns | 42.02 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 77.10 ns | 12.97 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 23.60 ns | 42.37 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 110.90 ns | 9.02 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 44.80 ns | 22.32 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 113.40 ns | 8.82 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 45.20 ns | 22.12 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 5.20 us | 192.37 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 3.55 us | 281.80 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 5.19 us | 192.75 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 3.55 us | 282.06 KHz |
matrix: inv, dyn[float ] 3x3 | 341.00 ns | 2.93 MHz |
matrix: inv, fix[float ] 3x3 | 20.00 ns | 50.00 MHz |
matrix: inv, dyn[double] 3x3 | 331.00 ns | 3.02 MHz |
matrix: inv, fix[double] 3x3 | 21.00 ns | 47.62 MHz |
matrix: inv, dyn[float ] 6x6 | 1.26 us | 796.81 KHz |
matrix: inv, fix[float ] 6x6 | 466.00 ns | 2.15 MHz |
matrix: inv, dyn[double] 6x6 | 1.27 us | 788.64 KHz |
matrix: inv, fix[double] 6x6 | 595.00 ns | 1.68 MHz |
matrix: inv, dyn[float ] 20x20 | 25.54 us | 39.16 KHz |
matrix: inv, fix[float ] 20x20 | 12.33 us | 81.12 KHz |
matrix: inv, dyn[double] 20x20 | 25.73 us | 38.87 KHz |
matrix: inv, fix[double] 20x20 | 16.78 us | 59.60 KHz |
matrix: inv, dyn[float ] 40x40 | 191.70 us | 5.22 KHz |
matrix: inv, fix[float ] 40x40 | 89.08 us | 11.23 KHz |
matrix: inv, dyn[double] 40x40 | 188.85 us | 5.30 KHz |
matrix: inv, fix[double] 40x40 | 124.58 us | 8.03 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 | 687.90 ns | 1.45 MHz |
matrix: det, fix[float ] 6x6 | 206.20 ns | 4.85 MHz |
matrix: det, dyn[double] 6x6 | 709.40 ns | 1.41 MHz |
matrix: det, fix[double] 6x6 | 211.00 ns | 4.74 MHz |
matrix: det, dyn[float ] 20x20 | 5.22 us | 191.41 KHz |
matrix: det, fix[float ] 20x20 | 4.00 us | 250.13 KHz |
matrix: det, dyn[double] 20x20 | 6.36 us | 157.33 KHz |
matrix: det, fix[double] 20x20 | 4.69 us | 213.18 KHz |
matrix: det, dyn[float ] 40x40 | 30.13 us | 33.19 KHz |
matrix: det, fix[float ] 40x40 | 26.00 us | 38.46 KHz |
matrix: det, dyn[double] 40x40 | 31.99 us | 31.26 KHz |
matrix: det, fix[double] 40x40 | 27.03 us | 37.00 KHz |
matrix: chol, dyn[double] 4x4 | 130.00 ns | 7.69 MHz |
matrix: chol, fix[double] 4x4 | 170.00 ns | 5.88 MHz |
matrix: chol, dyn[double] 40x40 | 18.30 us | 54.64 KHz |
matrix: chol, fix[double] 40x40 | 16.66 us | 60.02 KHz |
matrix: chol, sparse [2x2;2x2] | 8.00 us | 125.00 KHz |
matrix: chol, sparse [30x30;10x10] | 84.30 us | 11.86 KHz |
matrix: chol, dyn[double] 10x[6x6] | 52.70 us | 18.98 KHz |
matrix: chol, sparse 10x[6x6] | 39.44 us | 25.35 KHz |
matrix: chol, dyn[double] 20x[6x6] | 411.30 us | 2.43 KHz |
matrix: chol, sparse 20x[6x6] | 74.83 us | 13.36 KHz |
matrix: chol, dyn[double] 50x[6x6] | 8.53 ms | 117.21 Hz |
matrix: chol, sparse 50x[6x6] | 176.58 us | 5.66 KHz |
matrix: chol, dyn[double] 100x[6x6] | 133.33 ms | 7.50 Hz |
matrix: chol, sparse 100x[6x6] | 345.74 us | 2.89 KHz |
matrix: chol, dyn[double] 120x[6x6] | 355.42 ms | 2.81 Hz |
matrix: chol, sparse 120x[6x6] | 413.02 us | 2.42 KHz |
matrix: chol, dyn[double] 140x[6x6] | 776.92 ms | 1.29 Hz |
matrix: chol, sparse 140x[6x6] | 488.58 us | 2.05 KHz |
gridmap2D: getCell | 0.00 ns | inf THz |
gridmap2D: setCell | 2.58 ns | 386.85 MHz |
gridmap2D: updateCell | 7.45 ns | 134.17 MHz |
gridmap2D: updateCell_fast_occupied | 0.55 ns | 1.82 GHz |
gridmap2D: insert scan w/o widening | 101.95 us | 9.81 KHz |
gridmap2D: insert scan with widening | 290.01 us | 3.45 KHz |
gridmap2D: resize | 1.81 ms | 553.10 Hz |
gridmap2D: computeLikelihood | 16.28 us | 61.42 KHz |
pointmap: insert 100 scans | 3.05 ms | 327.40 Hz |
pointmap: build 2D kd-tree of 1 scan | 4.36 us | 229.36 KHz |
pointmap: build 2D kd-tree of 100 scan | 353.44 us | 2.83 KHz |
pointmap: build 2D kd-tree of 1000 scan | 4.17 ms | 239.60 Hz |
pointmap: build 3D kd-tree of 1 scan | 4.72 us | 211.86 KHz |
pointmap: build 3D kd-tree of 100 scan | 360.72 us | 2.77 KHz |
pointmap: build 3D kd-tree of 1000 scan | 4.05 ms | 246.78 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.38 us | 724.64 KHz |
pointmap: kd-tree 2d query on 1000 scans | 97.84 us | 10.22 KHz |
pointmap: kd-tree 2d query on 10000 scans | 11.64 ms | 85.89 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 5.57 ms | 179.48 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 128.75 ms | 7.77 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 5.68 ms | 176.14 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 158.24 ms | 6.32 Hz |
random: drawUniform32bit | 21.27 ns | 47.01 MHz |
random: drawUniform | 21.27 ns | 47.00 MHz |
random: drawGaussian1D_normalized | 100.39 ns | 9.96 MHz |
random: drawGaussian1D | 104.30 ns | 9.59 MHz |
random: system rand() | 17.36 ns | 57.60 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 1.96 us | 511.32 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 4.14 us | 241.55 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 231.75 ns | 4.31 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 345.64 ns | 2.89 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 716.29 ns | 1.40 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 259.14 ns | 3.86 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 403.95 ns | 2.48 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 793.64 ns | 1.26 MHz |
random: permuteVector (len=10) | 467.20 ns | 2.14 MHz |
random: permuteVector (len=100) | 4.51 us | 221.79 KHz |
random: permuteVector (len=1000) | 44.71 us | 22.36 KHz |
math: round | 0.14 ns | 6.90 GHz |
images: Save as JPEG (640x480, quality=95%) | 41.95 ms | 23.84 Hz |
images: Save as JPEG (800x600, quality=95%) | 64.87 ms | 15.41 Hz |
images: Save as JPEG (1024x768, quality=95%) | 73.69 ms | 13.57 Hz |
images: Save as JPEG (640x480, quality=75%) | 30.93 ms | 32.34 Hz |
images: Save as JPEG (800x600, quality=75%) | 44.10 ms | 22.68 Hz |
images: Save as JPEG (1024x768, quality=75%) | 62.66 ms | 15.96 Hz |
images: Gauss filter (640x480) | 3.85 ms | 259.75 Hz |
images: Gauss filter (800x600) | 6.15 ms | 162.58 Hz |
images: Gauss filter (1024x768) | 10.36 ms | 96.49 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 6.18 us | 161.81 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 5.88 us | 170.07 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 2.13 us | 469.48 KHz |
feature_extraction [640x480]: Harris | 26.56 ms | 37.65 Hz |
feature_extraction [640x480]: KLT | 27.10 ms | 36.90 Hz |
feature_extraction [640x480]: SIFT | 624.01 ms | 1.60 Hz |
feature_extraction [640x480]: SIFT desc. | 174.73 ms | 5.72 Hz |
feature_extraction [640x480]: SURF | 290.37 ms | 3.44 Hz |
feature_extraction [640x480]: FAST | 7.40 ms | 135.21 Hz |
feature_extraction [640x480]: Spin desc. | 87.70 ms | 11.40 Hz |
feature_matching [640x480]: Harris + CC | 58.61 ms | 17.06 Hz |
feature_matching [640x480]: Harris + SAD | 51.39 ms | 19.46 Hz |
feature_matching [640x480]: SIFT | 1.79 sec | 560.05 mHz |
feature_matching [640x480]: SURF | 558.48 ms | 1.79 Hz |
feature_matching [640x480]: FAST + CC | 22.90 ms | 43.68 Hz |
feature_matching [640x480]: FAST + SAD | 15.32 ms | 65.26 Hz |
graph(2d): insertEdge x 1e3 | 179.62 us | 5.57 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 154.93 us | 6.45 KHz |
graph(2d pdf): insertEdge x 1e3 | 209.24 us | 4.78 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 188.87 us | 5.29 KHz |
graph(2d): insertEdge x 1e4 | 2.17 ms | 460.11 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 1.51 ms | 661.57 Hz |
graph(2d pdf): insertEdge x 1e4 | 2.96 ms | 337.47 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 1.90 ms | 527.07 Hz |
graph(3d): insertEdge x 1e3 | 293.50 us | 3.41 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 220.01 us | 4.55 KHz |
graph(3d pdf): insertEdge x 1e3 | 659.85 us | 1.52 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 540.44 us | 1.85 KHz |
graph(3d): insertEdge x 1e4 | 4.41 ms | 226.85 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 2.22 ms | 449.58 Hz |
graph(3d pdf): insertEdge x 1e4 | 8.06 ms | 124.02 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 7.12 ms | 140.38 Hz |
graph(3d,map): dijkstra 1e2 nodes | 145.48 us | 6.87 KHz |
graph(3d,map): dijkstra 1e3 nodes | 1.91 ms | 522.60 Hz |
graph(3d,map): dijkstra 1e4 nodes | 26.56 ms | 37.65 Hz |