Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 37.14 ms | 26.93 Hz |
icp-slam (match grid): Run with sample dataset | 36.34 ms | 27.52 Hz |
poses: CPose3D (+) CPose3D | 197.08 ns | 5.07 MHz |
poses: CPose3D.composeFrom() | 33.62 ns | 29.74 MHz |
poses: CPose3D (+) CPoint3D | 25.13 ns | 39.79 MHz |
poses: CPose3D.composePoint() | 21.31 ns | 46.94 MHz |
poses: CPoint3D (-) CPose3D | 89.96 ns | 11.12 MHz |
poses: CPose3D.inverseComposePoint() | 47.25 ns | 21.17 MHz |
poses: CPose2D (+) CPose2D | 108.63 ns | 9.21 MHz |
poses: CPose2D.composeFrom() | 94.77 ns | 10.55 MHz |
poses: CPose2D (+) CPoint2D | 80.61 ns | 12.41 MHz |
poses: CPose2D.composePoint() | 67.32 ns | 14.85 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 81.31 ns | 12.30 MHz |
poses: CPose3DQuat.composeFrom() | 51.56 ns | 19.39 MHz |
poses: CPose3DQuat (+) CPoint3D | 55.91 ns | 17.89 MHz |
poses: CPose3DQuat.composePoint() | 32.73 ns | 30.55 MHz |
poses: CPoint3D (-) CPose3DQuat | 124.02 ns | 8.06 MHz |
poses: CPose3DQuat.invcomposePoint() | 30.61 ns | 32.67 MHz |
poses: Conv CPose3DQuat <- CPose3D | 28.12 ns | 35.56 MHz |
poses: Conv CPose3D -> CPose3DQuat | 216.84 ns | 4.61 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 1.24 us | 806.40 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 1.20 us | 835.55 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 20.15 us | 49.63 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 817.60 ns | 1.22 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 823.40 ns | 1.21 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 19.09 us | 52.39 KHz |
matrix: unit, dyn[float], 3x3 | 49.67 ns | 20.13 MHz |
matrix: unit, dyn[double], 3x3 | 50.90 ns | 19.64 MHz |
matrix: unit, dyn[float], 6x6 | 180.98 ns | 5.53 MHz |
matrix: unit, dyn[double], 6x6 | 177.90 ns | 5.62 MHz |
matrix: unit, fix[float,3,3] | 0.00 ns | 1.#J THz |
matrix: unit, fix[double,3,3] | 0.00 ns | 1.#J THz |
matrix: unit, fix[float,6,6] | 6.63 ns | 150.81 MHz |
matrix: unit, fix[double,6,6] | 8.86 ns | 112.91 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 680.28 ns | 1.47 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 458.35 ns | 2.18 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 680.46 ns | 1.47 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 35.28 ns | 28.34 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 514.01 ns | 1.95 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 3.40 ns | 294.39 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 5.18 us | 193.06 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 4.56 us | 219.44 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 3.79 us | 263.78 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 2.92 us | 342.06 KHz |
matrix: inv, dyn[double] 3x3 | 1.50 us | 665.44 KHz |
matrix: inv, fix[double] 3x3 | 9.51 ns | 105.14 MHz |
matrix: inv, dyn[double] 6x6 | 3.90 us | 256.17 KHz |
matrix: inv, fix[double] 6x6 | 3.54 us | 282.49 KHz |
matrix: inv, dyn[double] 20x20 | 34.19 us | 29.25 KHz |
matrix: inv, fix[double] 20x20 | 29.35 us | 34.07 KHz |
matrix: inv, dyn[double] 40x40 | 134.24 us | 7.45 KHz |
matrix: inv, fix[double] 40x40 | 126.45 us | 7.91 KHz |
matrix: det, dyn[double] 2x2 | 601.74 ns | 1.66 MHz |
matrix: det, fix[double] 2x2 | 0.05 ns | 22.08 GHz |
matrix: det, dyn[double] 3x3 | 872.81 ns | 1.15 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 6x6 | 2.32 us | 430.29 KHz |
matrix: det, fix[double] 6x6 | 2.17 us | 460.60 KHz |
matrix: det, dyn[double] 20x20 | 23.14 us | 43.22 KHz |
matrix: det, fix[double] 20x20 | 21.38 us | 46.78 KHz |
matrix: det, dyn[double] 40x40 | 92.83 us | 10.77 KHz |
matrix: det, fix[double] 40x40 | 90.97 us | 10.99 KHz |
matrix: chol, dyn[double] 4x4 | 892.24 ns | 1.12 MHz |
matrix: chol, fix[double] 4x4 | 249.10 ns | 4.01 MHz |
matrix: chol, dyn[double] 40x40 | 41.12 us | 24.32 KHz |
matrix: chol, fix[double] 40x40 | 26.92 us | 37.15 KHz |
matrix: chol, sparse [2x2;2x2] | 15.31 us | 65.32 KHz |
matrix: chol, sparse [30x30;10x10] | 116.85 us | 8.56 KHz |
matrix: chol, dyn[double] 10x[6x6] | 98.96 us | 10.10 KHz |
matrix: chol, sparse 10x[6x6] | 55.18 us | 18.12 KHz |
matrix: chol, dyn[double] 20x[6x6] | 498.07 us | 2.01 KHz |
matrix: chol, sparse 20x[6x6] | 133.40 us | 7.50 KHz |
matrix: chol, dyn[double] 50x[6x6] | 4.99 ms | 200.30 Hz |
matrix: chol, sparse 50x[6x6] | 243.96 us | 4.10 KHz |
matrix: chol, dyn[double] 100x[6x6] | 30.03 ms | 33.31 Hz |
matrix: chol, sparse 100x[6x6] | 486.08 us | 2.06 KHz |
matrix: chol, dyn[double] 120x[6x6] | 51.94 ms | 19.25 Hz |
matrix: chol, sparse 120x[6x6] | 583.78 us | 1.71 KHz |
matrix: chol, dyn[double] 140x[6x6] | 76.91 ms | 13.00 Hz |
matrix: chol, sparse 140x[6x6] | 649.31 us | 1.54 KHz |
gridmap2D: getCell | 6.44 ns | 155.25 MHz |
gridmap2D: setCell | 9.52 ns | 105.00 MHz |
gridmap2D: updateCell | 9.85 ns | 101.55 MHz |
gridmap2D: updateCell_fast_occupied | 1.47 ns | 679.40 MHz |
gridmap2D: insert scan w/o widening | 225.20 us | 4.44 KHz |
gridmap2D: insert scan with widening | 365.80 us | 2.73 KHz |
gridmap2D: resize | 2.56 ms | 389.96 Hz |
gridmap2D: computeLikelihood | 21.14 us | 47.30 KHz |
pointmap: insert 100 scans | 3.27 ms | 305.75 Hz |
pointmap: build 2D kd-tree of 1 scan | 6.03 us | 165.76 KHz |
pointmap: build 2D kd-tree of 100 scan | 579.42 us | 1.73 KHz |
pointmap: build 2D kd-tree of 1000 scan | 6.14 ms | 162.87 Hz |
pointmap: build 3D kd-tree of 1 scan | 6.68 us | 149.59 KHz |
pointmap: build 3D kd-tree of 100 scan | 519.96 us | 1.92 KHz |
pointmap: build 3D kd-tree of 1000 scan | 6.64 ms | 150.68 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.95 us | 511.57 KHz |
pointmap: kd-tree 2d query on 1000 scans | 167.14 us | 5.98 KHz |
pointmap: kd-tree 2d query on 10000 scans | 17.45 ms | 57.30 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 9.11 ms | 109.75 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 210.71 ms | 4.75 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 8.38 ms | 119.37 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 198.71 ms | 5.03 Hz |
random: drawUniform32bit | 7.57 ns | 132.11 MHz |
random: drawUniform | 7.60 ns | 131.54 MHz |
random: drawGaussian1D_normalized | 58.48 ns | 17.10 MHz |
random: drawGaussian1D | 57.62 ns | 17.35 MHz |
random: system rand() | 29.43 ns | 33.98 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 2.95 us | 339.21 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 3.53 us | 282.92 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 145.71 ns | 6.86 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 227.37 ns | 4.40 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 514.56 ns | 1.94 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 170.42 ns | 5.87 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 283.60 ns | 3.53 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 661.22 ns | 1.51 MHz |
random: permuteVector (len=10) | 304.45 ns | 3.28 MHz |
random: permuteVector (len=100) | 3.47 us | 288.42 KHz |
random: permuteVector (len=1000) | 37.99 us | 26.33 KHz |
math: round | 0.00 ns | 220.79 THz |
images: Save as JPEG (640x480, quality=95%) | 33.06 ms | 30.25 Hz |
images: Save as JPEG (800x600, quality=95%) | 50.64 ms | 19.75 Hz |
images: Save as JPEG (1024x768, quality=95%) | 82.66 ms | 12.10 Hz |
images: Save as JPEG (640x480, quality=75%) | 27.36 ms | 36.56 Hz |
images: Save as JPEG (800x600, quality=75%) | 43.25 ms | 23.12 Hz |
images: Save as JPEG (1024x768, quality=75%) | 66.55 ms | 15.03 Hz |
images: Gauss filter (640x480) | 5.57 ms | 179.49 Hz |
images: Gauss filter (800x600) | 8.84 ms | 113.10 Hz |
images: Gauss filter (1024x768) | 14.37 ms | 69.58 Hz |
images: Half sample GRAY (160x120) | 1.63 us | 612.18 KHz |
images: Half sample GRAY (320x240) | 4.13 us | 241.92 KHz |
images: Half sample GRAY (640x480) | 19.15 us | 52.22 KHz |
images: Half sample GRAY (800x600) | 31.65 us | 31.59 KHz |
images: Half sample GRAY (1024x768) | 50.27 us | 19.89 KHz |
images: Half sample GRAY (1280x1024) | 87.87 us | 11.38 KHz |
images: Half sample RGB (160x120) | 3.54 us | 282.58 KHz |
images: Half sample RGB (320x240) | 11.27 us | 88.76 KHz |
images: Half sample RGB (640x480) | 57.50 us | 17.39 KHz |
images: Half sample RGB (800x600) | 80.68 us | 12.39 KHz |
images: Half sample RGB (1024x768) | 391.11 us | 2.56 KHz |
images: Half sample RGB (1280x1024) | 826.49 us | 1.21 KHz |
images: Half sample smooth GRAY (160x120) | 2.87 us | 348.99 KHz |
images: Half sample smooth GRAY (320x240) | 8.64 us | 115.70 KHz |
images: Half sample smooth GRAY (640x480) | 29.52 us | 33.88 KHz |
images: Half sample smooth GRAY (800x600) | 66.07 us | 15.14 KHz |
images: Half sample smooth GRAY (1024x768) | 90.65 us | 11.03 KHz |
images: Half sample smooth GRAY (1280x1024) | 132.57 us | 7.54 KHz |
images: Half sample smooth RGB (160x120) | 202.00 us | 4.95 KHz |
images: Half sample smooth RGB (320x240) | 779.03 us | 1.28 KHz |
images: Half sample smooth RGB (640x480) | 3.10 ms | 323.08 Hz |
images: Half sample smooth RGB (800x600) | 4.82 ms | 207.41 Hz |
images: Half sample smooth RGB (1024x768) | 8.63 ms | 115.89 Hz |
images: Half sample smooth RGB (1280x1024) | 14.76 ms | 67.77 Hz |
images: RGB->GRAY 8u (40x30) | 6.40 us | 156.37 KHz |
images: RGB->GRAY 8u (80x60) | 4.33 us | 230.95 KHz |
images: RGB->GRAY 8u (160x120) | 11.84 us | 84.43 KHz |
images: RGB->GRAY 8u (320x240) | 44.50 us | 22.47 KHz |
images: RGB->GRAY 8u (640x480) | 191.53 us | 5.22 KHz |
images: RGB->GRAY 8u (800x600) | 350.56 us | 2.85 KHz |
images: RGB->GRAY 8u (1024x768) | 968.81 us | 1.03 KHz |
images: RGB->GRAY 8u (1280x1024) | 1.71 ms | 584.85 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 21.97 us | 45.52 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 22.01 us | 45.44 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 12.71 us | 78.69 KHz |
feature_extraction [640x480]: Harris | 38.32 ms | 26.10 Hz |
feature_extraction [640x480]: KLT | 37.22 ms | 26.87 Hz |
feature_extraction [640x480]: SIFT | 739.68 ms | 1.35 Hz |
feature_extraction [640x480]: SIFT desc. | 232.95 ms | 4.29 Hz |
feature_extraction [640x480]: SURF | 309.97 ms | 3.23 Hz |
feature_extraction [640x480]: FAST | 6.88 ms | 145.25 Hz |
feature_extraction [640x480]: Spin desc. | 88.28 ms | 11.33 Hz |
feature_matching [640x480]: Harris + CC | 59.68 ms | 16.76 Hz |
feature_matching [640x480]: Harris + SAD | 58.57 ms | 17.07 Hz |
feature_matching [640x480]: SIFT | 1.50 sec | 668.02 mHz |
feature_matching [640x480]: SURF | 621.62 ms | 1.61 Hz |
feature_matching [640x480]: FAST + CC | 21.69 ms | 46.10 Hz |
feature_matching [640x480]: FAST + SAD | 12.64 ms | 79.13 Hz |
graph(2d): insertEdge x 1e3 | 301.62 us | 3.32 KHz |
graph(2d,vec): insertEdge x 1e3 | 298.86 us | 3.35 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 274.69 us | 3.64 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e3 | 270.21 us | 3.70 KHz |
graph(2d pdf): insertEdge x 1e3 | 415.87 us | 2.40 KHz |
graph(2d pdf,vec): insertEdge x 1e3 | 406.59 us | 2.46 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 377.54 us | 2.65 KHz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 379.45 us | 2.64 KHz |
graph(2d): insertEdge x 1e4 | 4.14 ms | 241.59 Hz |
graph(2d,vec): insertEdge x 1e4 | 4.00 ms | 250.06 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 2.94 ms | 339.77 Hz |
graph(2d,vec): insertEdgeAtEnd x 1e4 | 2.89 ms | 345.69 Hz |
graph(2d pdf): insertEdge x 1e4 | 4.77 ms | 209.57 Hz |
graph(2d pdf,vec): insertEdge x 1e4 | 4.86 ms | 205.59 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 4.05 ms | 246.64 Hz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 4.21 ms | 237.52 Hz |
graph(3d): insertEdge x 1e3 | 381.69 us | 2.62 KHz |
graph(3d,vec): insertEdge x 1e3 | 407.21 us | 2.46 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 339.57 us | 2.94 KHz |
graph(3d,vec): insertEdgeAtEnd x 1e3 | 334.55 us | 2.99 KHz |
graph(3d pdf): insertEdge x 1e3 | 688.91 us | 1.45 KHz |
graph(3d pdf,vec): insertEdge x 1e3 | 684.69 us | 1.46 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 683.24 us | 1.46 KHz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 684.37 us | 1.46 KHz |
graph(3d): insertEdge x 1e4 | 3.89 ms | 257.39 Hz |
graph(3d,vec): insertEdge x 1e4 | 3.79 ms | 263.81 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 3.59 ms | 278.91 Hz |
graph(3d,vec): insertEdgeAtEnd x 1e4 | 3.52 ms | 284.28 Hz |
graph(3d pdf): insertEdge x 1e4 | 7.80 ms | 128.15 Hz |
graph(3d pdf,vec): insertEdge x 1e4 | 7.81 ms | 128.11 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 7.49 ms | 133.45 Hz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 7.57 ms | 132.15 Hz |
graph(3d): dijkstra 1e2 nodes | 213.16 us | 4.69 KHz |
graph(3d,vec): dijkstra 1e2 nodes | 311.59 us | 3.21 KHz |
graph(3d): dijkstra 1e3 nodes | 2.57 ms | 389.66 Hz |
graph(3d,vec): dijkstra 1e3 nodes | 2.70 ms | 370.20 Hz |
graph(3d): dijkstra 1e4 nodes | 31.29 ms | 31.96 Hz |
graph(3d,vec): dijkstra 1e4 nodes | 32.92 ms | 30.38 Hz |
graph(3d): dijkstra 1e5 nodes | 393.68 ms | 2.54 Hz |
graph(3d,vec): dijkstra 1e5 nodes | 385.61 ms | 2.59 Hz |
graph(2d): dijkstra 1e5 nodes | 380.30 ms | 2.63 Hz |
graph(2d,vec): dijkstra 1e5 nodes | 376.84 ms | 2.65 Hz |