Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 20.74 ms | 48.21 Hz |
icp-slam (match grid): Run with sample dataset | 17.09 ms | 58.52 Hz |
poses: CPose3D (+) CPose3D | 29.76 ns | 33.60 MHz |
poses: CPose3D.composeFrom() | 21.90 ns | 45.66 MHz |
poses: CPose3D (+) CPoint3D | 7.23 ns | 138.24 MHz |
poses: CPose3D.composePoint() | 11.67 ns | 85.68 MHz |
poses: CPoint3D (-) CPose3D | 13.29 ns | 75.27 MHz |
poses: CPose3D.inverseComposePoint() | 24.48 ns | 40.85 MHz |
poses: CPose2D (+) CPose2D | 71.64 ns | 13.96 MHz |
poses: CPose2D.composeFrom() | 69.41 ns | 14.41 MHz |
poses: CPose2D (+) CPoint2D | 60.78 ns | 16.45 MHz |
poses: CPose2D.composePoint() | 60.80 ns | 16.45 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 40.47 ns | 24.71 MHz |
poses: CPose3DQuat.composeFrom() | 37.55 ns | 26.63 MHz |
poses: CPose3DQuat (+) CPoint3D | 17.39 ns | 57.51 MHz |
poses: CPose3DQuat.composePoint() | 17.48 ns | 57.20 MHz |
poses: CPoint3D (-) CPose3DQuat | 32.97 ns | 30.33 MHz |
poses: CPose3DQuat.invcomposePoint() | 19.11 ns | 52.34 MHz |
poses: Conv CPose3DQuat <- CPose3D | 23.42 ns | 42.70 MHz |
poses: Conv CPose3D -> CPose3DQuat | 172.72 ns | 5.79 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 671.00 ns | 1.49 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 652.00 ns | 1.53 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 8.74 us | 114.40 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 454.10 ns | 2.20 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 452.90 ns | 2.21 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 7.98 us | 125.39 KHz |
matrix: unit, dyn[float], 3x3 | 17.64 ns | 56.71 MHz |
matrix: unit, dyn[double], 3x3 | 19.86 ns | 50.34 MHz |
matrix: unit, dyn[float], 6x6 | 57.06 ns | 17.53 MHz |
matrix: unit, dyn[double], 6x6 | 60.00 ns | 16.67 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] | 0.00 ns | 1.#J THz |
matrix: unit, fix[double,6,6] | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 242.70 ns | 4.12 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 231.60 ns | 4.32 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 296.50 ns | 3.37 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 0.10 ns | 10.00 GHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 259.20 ns | 3.86 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 2.09 us | 477.69 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 1.79 us | 559.03 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 2.43 us | 411.68 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 2.16 us | 462.21 KHz |
matrix: inv, dyn[double] 3x3 | 767.00 ns | 1.30 MHz |
matrix: inv, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: inv, dyn[double] 6x6 | 1.78 us | 561.80 KHz |
matrix: inv, fix[double] 6x6 | 1.73 us | 578.70 KHz |
matrix: inv, dyn[double] 20x20 | 16.27 us | 61.47 KHz |
matrix: inv, fix[double] 20x20 | 13.44 us | 74.41 KHz |
matrix: inv, dyn[double] 40x40 | 68.00 us | 14.70 KHz |
matrix: inv, fix[double] 40x40 | 63.01 us | 15.87 KHz |
matrix: det, dyn[double] 2x2 | 209.40 ns | 4.78 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 3x3 | 331.30 ns | 3.02 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 6x6 | 943.70 ns | 1.06 MHz |
matrix: det, fix[double] 6x6 | 575.90 ns | 1.74 MHz |
matrix: det, dyn[double] 20x20 | 8.10 us | 123.40 KHz |
matrix: det, fix[double] 20x20 | 7.48 us | 133.61 KHz |
matrix: det, dyn[double] 40x40 | 30.87 us | 32.39 KHz |
matrix: det, fix[double] 40x40 | 29.01 us | 34.47 KHz |
matrix: chol, dyn[double] 4x4 | 530.00 ns | 1.89 MHz |
matrix: chol, fix[double] 4x4 | 120.00 ns | 8.33 MHz |
matrix: chol, dyn[double] 40x40 | 20.70 us | 48.31 KHz |
matrix: chol, fix[double] 40x40 | 16.54 us | 60.46 KHz |
matrix: chol, sparse [2x2;2x2] | 12.20 us | 81.97 KHz |
matrix: chol, sparse [30x30;10x10] | 87.70 us | 11.40 KHz |
matrix: chol, dyn[double] 10x[6x6] | 51.70 us | 19.34 KHz |
matrix: chol, sparse 10x[6x6] | 38.27 us | 26.13 KHz |
matrix: chol, dyn[double] 20x[6x6] | 255.50 us | 3.91 KHz |
matrix: chol, sparse 20x[6x6] | 70.94 us | 14.10 KHz |
matrix: chol, dyn[double] 50x[6x6] | 2.75 ms | 363.64 Hz |
matrix: chol, sparse 50x[6x6] | 169.22 us | 5.91 KHz |
matrix: chol, dyn[double] 100x[6x6] | 22.06 ms | 45.33 Hz |
matrix: chol, sparse 100x[6x6] | 339.61 us | 2.94 KHz |
matrix: chol, dyn[double] 120x[6x6] | 36.67 ms | 27.27 Hz |
matrix: chol, sparse 120x[6x6] | 402.38 us | 2.49 KHz |
matrix: chol, dyn[double] 140x[6x6] | 53.86 ms | 18.57 Hz |
matrix: chol, sparse 140x[6x6] | 476.81 us | 2.10 KHz |
gridmap2D: getCell | 0.00 ns | 1.#J THz |
gridmap2D: setCell | 2.71 ns | 369.33 MHz |
gridmap2D: updateCell | 6.04 ns | 165.59 MHz |
gridmap2D: updateCell_fast_occupied | 0.61 ns | 1.63 GHz |
gridmap2D: insert scan w/o widening | 99.83 us | 10.02 KHz |
gridmap2D: insert scan with widening | 293.13 us | 3.41 KHz |
gridmap2D: resize | 630.00 us | 1.59 KHz |
gridmap2D: computeLikelihood | 17.81 us | 56.14 KHz |
pointmap: insert 100 scans | 1.01 ms | 990.80 Hz |
pointmap: build 2D kd-tree of 1 scan | 4.52 us | 221.24 KHz |
pointmap: build 2D kd-tree of 100 scan | 364.44 us | 2.74 KHz |
pointmap: build 2D kd-tree of 1000 scan | 4.38 ms | 228.21 Hz |
pointmap: build 3D kd-tree of 1 scan | 5.16 us | 193.80 KHz |
pointmap: build 3D kd-tree of 100 scan | 372.44 us | 2.68 KHz |
pointmap: build 3D kd-tree of 1000 scan | 4.20 ms | 238.06 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.42 us | 703.73 KHz |
pointmap: kd-tree 2d query on 1000 scans | 101.86 us | 9.82 KHz |
pointmap: kd-tree 2d query on 10000 scans | 12.17 ms | 82.15 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 5.64 ms | 177.25 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 132.76 ms | 7.53 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 5.71 ms | 175.04 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 134.74 ms | 7.42 Hz |
random: drawUniform32bit | 14.55 ns | 68.75 MHz |
random: drawUniform | 14.56 ns | 68.69 MHz |
random: drawGaussian1D_normalized | 66.87 ns | 14.96 MHz |
random: drawGaussian1D | 66.81 ns | 14.97 MHz |
random: system rand() | 10.63 ns | 94.11 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 903.36 ns | 1.11 MHz |
random: drawGaussianMultivariate(dyn 3x3) | 1.61 us | 621.01 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 144.65 ns | 6.91 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 219.48 ns | 4.56 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 472.80 ns | 2.12 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 152.29 ns | 6.57 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 235.04 ns | 4.25 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 491.60 ns | 2.03 MHz |
random: permuteVector (len=10) | 243.60 ns | 4.11 MHz |
random: permuteVector (len=100) | 2.99 us | 334.99 KHz |
random: permuteVector (len=1000) | 29.51 us | 33.88 KHz |
math: round | 0.10 ns | 10.08 GHz |
images: Save as JPEG (640x480, quality=95%) | 33.63 ms | 29.74 Hz |
images: Save as JPEG (800x600, quality=95%) | 49.85 ms | 20.06 Hz |
images: Save as JPEG (1024x768, quality=95%) | 69.59 ms | 14.37 Hz |
images: Save as JPEG (640x480, quality=75%) | 30.64 ms | 32.63 Hz |
images: Save as JPEG (800x600, quality=75%) | 43.91 ms | 22.78 Hz |
images: Save as JPEG (1024x768, quality=75%) | 62.52 ms | 15.99 Hz |
images: Gauss filter (640x480) | 3.81 ms | 262.76 Hz |
images: Gauss filter (800x600) | 5.96 ms | 167.70 Hz |
images: Gauss filter (1024x768) | 10.46 ms | 95.61 Hz |
images: Half sample GRAY (160x120) | 1.04 us | 961.54 KHz |
images: Half sample GRAY (320x240) | 2.91 us | 344.04 KHz |
images: Half sample GRAY (640x480) | 14.63 us | 68.35 KHz |
images: Half sample GRAY (800x600) | 27.61 us | 36.21 KHz |
images: Half sample GRAY (1024x768) | 43.98 us | 22.74 KHz |
images: Half sample GRAY (1280x1024) | 84.93 us | 11.77 KHz |
images: Half sample RGB (160x120) | 2.35 us | 426.14 KHz |
images: Half sample RGB (320x240) | 8.97 us | 111.44 KHz |
images: Half sample RGB (640x480) | 49.58 us | 20.17 KHz |
images: Half sample RGB (800x600) | 83.52 us | 11.97 KHz |
images: Half sample RGB (1024x768) | 175.02 us | 5.71 KHz |
images: Half sample RGB (1280x1024) | 434.33 us | 2.30 KHz |
images: Half sample smooth GRAY (160x120) | 1.52 us | 656.46 KHz |
images: Half sample smooth GRAY (320x240) | 5.05 us | 197.89 KHz |
images: Half sample smooth GRAY (640x480) | 27.35 us | 36.57 KHz |
images: Half sample smooth GRAY (800x600) | 41.00 us | 24.39 KHz |
images: Half sample smooth GRAY (1024x768) | 70.54 us | 14.18 KHz |
images: Half sample smooth GRAY (1280x1024) | 147.17 us | 6.80 KHz |
images: Half sample smooth RGB (160x120) | 87.34 us | 11.45 KHz |
images: Half sample smooth RGB (320x240) | 341.55 us | 2.93 KHz |
images: Half sample smooth RGB (640x480) | 1.35 ms | 740.73 Hz |
images: Half sample smooth RGB (800x600) | 2.13 ms | 468.44 Hz |
images: Half sample smooth RGB (1024x768) | 3.55 ms | 281.93 Hz |
images: Half sample smooth RGB (1280x1024) | 6.52 ms | 153.40 Hz |
images: RGB->GRAY 8u (40x30) | 3.88 us | 257.95 KHz |
images: RGB->GRAY 8u (80x60) | 2.78 us | 359.28 KHz |
images: RGB->GRAY 8u (160x120) | 9.91 us | 100.91 KHz |
images: RGB->GRAY 8u (320x240) | 39.89 us | 25.07 KHz |
images: RGB->GRAY 8u (640x480) | 157.22 us | 6.36 KHz |
images: RGB->GRAY 8u (800x600) | 266.94 us | 3.75 KHz |
images: RGB->GRAY 8u (1024x768) | 485.16 us | 2.06 KHz |
images: RGB->GRAY 8u (1280x1024) | 926.17 us | 1.08 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 12.69 us | 78.80 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 9.85 us | 101.52 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 5.24 us | 190.84 KHz |
feature_extraction [640x480]: Harris | 21.14 ms | 47.31 Hz |
feature_extraction [640x480]: KLT | 21.45 ms | 46.61 Hz |
feature_extraction [640x480]: SIFT | 591.25 ms | 1.69 Hz |
feature_extraction [640x480]: SIFT desc. | 162.82 ms | 6.14 Hz |
feature_extraction [640x480]: SURF | 197.33 ms | 5.07 Hz |
feature_extraction [640x480]: FAST | 6.89 ms | 145.15 Hz |
feature_extraction [640x480]: Spin desc. | 63.90 ms | 15.65 Hz |
feature_matching [640x480]: Harris + CC | 38.54 ms | 25.95 Hz |
feature_matching [640x480]: Harris + SAD | 33.59 ms | 29.77 Hz |
feature_matching [640x480]: SIFT | 1.16 sec | 863.45 mHz |
feature_matching [640x480]: SURF | 375.89 ms | 2.66 Hz |
feature_matching [640x480]: FAST + CC | 15.89 ms | 62.95 Hz |
feature_matching [640x480]: FAST + SAD | 10.48 ms | 95.42 Hz |
graph(2d): insertEdge x 1e3 | 158.24 us | 6.32 KHz |
graph(2d,vec): insertEdge x 1e3 | 133.69 us | 7.48 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 84.43 us | 11.84 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e3 | 81.78 us | 12.23 KHz |
graph(2d pdf): insertEdge x 1e3 | 207.17 us | 4.83 KHz |
graph(2d pdf,vec): insertEdge x 1e3 | 232.57 us | 4.30 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 246.74 us | 4.05 KHz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 192.59 us | 5.19 KHz |
graph(2d): insertEdge x 1e4 | 2.08 ms | 480.05 Hz |
graph(2d,vec): insertEdge x 1e4 | 1.62 ms | 618.53 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 870.19 us | 1.15 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e4 | 846.92 us | 1.18 KHz |
graph(2d pdf): insertEdge x 1e4 | 2.34 ms | 427.14 Hz |
graph(2d pdf,vec): insertEdge x 1e4 | 2.81 ms | 356.06 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 2.13 ms | 470.35 Hz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 2.13 ms | 469.13 Hz |
graph(3d): insertEdge x 1e3 | 220.82 us | 4.53 KHz |
graph(3d,vec): insertEdge x 1e3 | 221.81 us | 4.51 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 183.18 us | 5.46 KHz |
graph(3d,vec): insertEdgeAtEnd x 1e3 | 186.52 us | 5.36 KHz |
graph(3d pdf): insertEdge x 1e3 | 532.35 us | 1.88 KHz |
graph(3d pdf,vec): insertEdge x 1e3 | 537.98 us | 1.86 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 487.59 us | 2.05 KHz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 493.50 us | 2.03 KHz |
graph(3d): insertEdge x 1e4 | 2.78 ms | 359.55 Hz |
graph(3d,vec): insertEdge x 1e4 | 2.77 ms | 360.52 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 2.09 ms | 477.61 Hz |
graph(3d,vec): insertEdgeAtEnd x 1e4 | 2.05 ms | 487.11 Hz |
graph(3d pdf): insertEdge x 1e4 | 7.36 ms | 135.81 Hz |
graph(3d pdf,vec): insertEdge x 1e4 | 6.97 ms | 143.42 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 5.29 ms | 189.20 Hz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 5.49 ms | 182.28 Hz |
graph(3d): dijkstra 1e2 nodes | 90.55 us | 11.04 KHz |
graph(3d,vec): dijkstra 1e2 nodes | 83.50 us | 11.98 KHz |
graph(3d): dijkstra 1e3 nodes | 1.13 ms | 882.20 Hz |
graph(3d,vec): dijkstra 1e3 nodes | 767.67 us | 1.30 KHz |
graph(3d): dijkstra 1e4 nodes | 21.12 ms | 47.35 Hz |
graph(3d,vec): dijkstra 1e4 nodes | 10.86 ms | 92.06 Hz |
graph(3d): dijkstra 1e5 nodes | 341.35 ms | 2.93 Hz |
graph(3d,vec): dijkstra 1e5 nodes | 142.53 ms | 7.02 Hz |
graph(2d): dijkstra 1e5 nodes | 320.28 ms | 3.12 Hz |
graph(2d,vec): dijkstra 1e5 nodes | 133.66 ms | 7.48 Hz |