Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 26.54 ms | 37.68 Hz |
icp-slam (match grid): Run with sample dataset | 32.17 ms | 31.08 Hz |
poses: CPose3D (+) CPose3D | 62.83 ns | 15.92 MHz |
poses: CPose3D.composeFrom() | 41.42 ns | 24.14 MHz |
poses: CPose3D (+) CPoint3D | 18.89 ns | 52.94 MHz |
poses: CPose3D.composePoint() | 17.17 ns | 58.23 MHz |
poses: CPoint3D (-) CPose3D | 88.79 ns | 11.26 MHz |
poses: CPose3D.inverseComposePoint() | 44.00 ns | 22.73 MHz |
poses: CPose2D (+) CPose2D | 72.08 ns | 13.87 MHz |
poses: CPose2D.composeFrom() | 63.27 ns | 15.81 MHz |
poses: CPose2D (+) CPoint2D | 34.42 ns | 29.05 MHz |
poses: CPose2D.composePoint() | 26.02 ns | 38.43 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 113.59 ns | 8.80 MHz |
poses: CPose3DQuat.composeFrom() | 82.72 ns | 12.09 MHz |
poses: CPose3DQuat (+) CPoint3D | 41.33 ns | 24.20 MHz |
poses: CPose3DQuat.composePoint() | 31.13 ns | 32.12 MHz |
poses: CPoint3D (-) CPose3DQuat | 113.89 ns | 8.78 MHz |
poses: CPose3DQuat.invcomposePoint() | 33.95 ns | 29.46 MHz |
poses: Conv CPose3DQuat <- CPose3D | 26.44 ns | 37.82 MHz |
poses: Conv CPose3D -> CPose3DQuat | 97.31 ns | 10.28 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 948.85 ns | 1.05 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 938.66 ns | 1.07 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 21.21 us | 47.15 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 532.44 ns | 1.88 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 528.23 ns | 1.89 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 11.19 us | 89.35 KHz |
matrix: unit, dyn[float], 3x3 | 45.20 ns | 22.13 MHz |
matrix: unit, dyn[double], 3x3 | 45.86 ns | 21.81 MHz |
matrix: unit, dyn[float], 6x6 | 177.43 ns | 5.64 MHz |
matrix: unit, dyn[double], 6x6 | 169.52 ns | 5.90 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.37 ns | 157.06 MHz |
matrix: unit, fix[double,6,6] | 7.86 ns | 127.19 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 485.93 ns | 2.06 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 0.05 ns | 22.08 GHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 528.41 ns | 1.89 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 0.00 ns | 1.#J THz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 547.16 ns | 1.83 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 2.36 ns | 424.60 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 391.50 ns | 2.55 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 2.36 ns | 424.60 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 2.74 us | 364.51 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 2.08 us | 479.89 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 3.47 us | 288.55 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 2.38 us | 419.56 KHz |
matrix: inv, dyn[double] 3x3 | 1.09 us | 921.12 KHz |
matrix: inv, fix[double] 3x3 | 22.19 ns | 45.06 MHz |
matrix: inv, dyn[double] 6x6 | 2.78 us | 359.66 KHz |
matrix: inv, fix[double] 6x6 | 2.22 us | 450.23 KHz |
matrix: inv, dyn[double] 20x20 | 30.71 us | 32.56 KHz |
matrix: inv, fix[double] 20x20 | 24.08 us | 41.53 KHz |
matrix: inv, dyn[double] 40x40 | 117.18 us | 8.53 KHz |
matrix: inv, fix[double] 40x40 | 112.80 us | 8.86 KHz |
matrix: det, dyn[double] 2x2 | 765.51 ns | 1.31 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 3x3 | 822.31 ns | 1.22 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[double] 6x6 | 1.78 us | 560.47 KHz |
matrix: det, fix[double] 6x6 | 1.51 us | 661.35 KHz |
matrix: det, dyn[double] 20x20 | 18.54 us | 53.94 KHz |
matrix: det, fix[double] 20x20 | 19.01 us | 52.61 KHz |
matrix: det, dyn[double] 40x40 | 72.40 us | 13.81 KHz |
matrix: det, fix[double] 40x40 | 67.43 us | 14.83 KHz |
matrix: chol, dyn[double] 4x4 | 606.90 ns | 1.65 MHz |
matrix: chol, fix[double] 4x4 | 190.22 ns | 5.26 MHz |
matrix: chol, dyn[double] 40x40 | 31.59 us | 31.66 KHz |
matrix: chol, fix[double] 40x40 | 20.87 us | 47.93 KHz |
matrix: chol, sparse [2x2;2x2] | 7.11 us | 140.63 KHz |
matrix: chol, sparse [30x30;10x10] | 94.75 us | 10.55 KHz |
matrix: chol, dyn[double] 10x[6x6] | 75.59 us | 13.23 KHz |
matrix: chol, sparse 10x[6x6] | 43.20 us | 23.15 KHz |
matrix: chol, dyn[double] 20x[6x6] | 453.46 us | 2.21 KHz |
matrix: chol, sparse 20x[6x6] | 74.00 us | 13.51 KHz |
matrix: chol, dyn[double] 50x[6x6] | 3.54 ms | 282.19 Hz |
matrix: chol, sparse 50x[6x6] | 178.69 us | 5.60 KHz |
matrix: chol, dyn[double] 100x[6x6] | 22.29 ms | 44.87 Hz |
matrix: chol, sparse 100x[6x6] | 359.36 us | 2.78 KHz |
matrix: chol, dyn[double] 120x[6x6] | 36.29 ms | 27.56 Hz |
matrix: chol, sparse 120x[6x6] | 411.86 us | 2.43 KHz |
matrix: chol, dyn[double] 140x[6x6] | 54.34 ms | 18.40 Hz |
matrix: chol, sparse 140x[6x6] | 488.10 us | 2.05 KHz |
gridmap2D: getCell | 4.13 ns | 242.07 MHz |
gridmap2D: setCell | 5.65 ns | 177.14 MHz |
gridmap2D: updateCell | 6.93 ns | 144.35 MHz |
gridmap2D: updateCell_fast_occupied | 1.20 ns | 833.40 MHz |
gridmap2D: insert scan w/o widening | 102.16 us | 9.79 KHz |
gridmap2D: insert scan with widening | 276.88 us | 3.61 KHz |
gridmap2D: resize | 3.89 ms | 257.06 Hz |
gridmap2D: computeLikelihood | 13.92 us | 71.84 KHz |
pointmap: insert 100 scans | 1.87 ms | 534.24 Hz |
pointmap: build 2D kd-tree of 1 scan | 5.09 us | 196.43 KHz |
pointmap: build 2D kd-tree of 100 scan | 486.39 us | 2.06 KHz |
pointmap: build 2D kd-tree of 1000 scan | 5.10 ms | 196.20 Hz |
pointmap: build 3D kd-tree of 1 scan | 5.56 us | 179.80 KHz |
pointmap: build 3D kd-tree of 100 scan | 467.24 us | 2.14 KHz |
pointmap: build 3D kd-tree of 1000 scan | 5.18 ms | 192.98 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.59 us | 627.25 KHz |
pointmap: kd-tree 2d query on 1000 scans | 126.68 us | 7.89 KHz |
pointmap: kd-tree 2d query on 10000 scans | 13.86 ms | 72.14 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 6.54 ms | 152.81 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 174.77 ms | 5.72 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 6.88 ms | 145.28 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 181.38 ms | 5.51 Hz |
random: drawUniform32bit | 9.54 ns | 104.87 MHz |
random: drawUniform | 9.69 ns | 103.21 MHz |
random: drawGaussian1D_normalized | 52.06 ns | 19.21 MHz |
random: drawGaussian1D | 50.73 ns | 19.71 MHz |
random: system rand() | 24.47 ns | 40.87 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 1.24 us | 805.20 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 3.19 us | 313.70 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 130.03 ns | 7.69 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 198.35 ns | 5.04 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 451.66 ns | 2.21 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 136.92 ns | 7.30 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 213.52 ns | 4.68 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 478.55 ns | 2.09 MHz |
random: permuteVector (len=10) | 244.07 ns | 4.10 MHz |
random: permuteVector (len=100) | 3.12 us | 320.11 KHz |
random: permuteVector (len=1000) | 30.82 us | 32.44 KHz |
math: round | 0.00 ns | 220.79 THz |
images: Save as JPEG (640x480, quality=95%) | 29.87 ms | 33.48 Hz |
images: Save as JPEG (800x600, quality=95%) | 42.98 ms | 23.26 Hz |
images: Save as JPEG (1024x768, quality=95%) | 69.03 ms | 14.49 Hz |
images: Save as JPEG (640x480, quality=75%) | 22.86 ms | 43.75 Hz |
images: Save as JPEG (800x600, quality=75%) | 35.20 ms | 28.41 Hz |
images: Save as JPEG (1024x768, quality=75%) | 57.29 ms | 17.45 Hz |
images: Gauss filter (640x480) | 4.45 ms | 224.70 Hz |
images: Gauss filter (800x600) | 8.06 ms | 124.15 Hz |
images: Gauss filter (1024x768) | 13.86 ms | 72.16 Hz |
images: Half sample GRAY (160x120) | 1.32 us | 755.28 KHz |
images: Half sample GRAY (320x240) | 4.41 us | 226.69 KHz |
images: Half sample GRAY (640x480) | 18.51 us | 54.02 KHz |
images: Half sample GRAY (800x600) | 29.74 us | 33.62 KHz |
images: Half sample GRAY (1024x768) | 52.65 us | 18.99 KHz |
images: Half sample GRAY (1280x1024) | 107.42 us | 9.31 KHz |
images: Half sample RGB (160x120) | 9.33 us | 107.15 KHz |
images: Half sample RGB (320x240) | 11.01 us | 90.82 KHz |
images: Half sample RGB (640x480) | 53.51 us | 18.69 KHz |
images: Half sample RGB (800x600) | 126.28 us | 7.92 KHz |
images: Half sample RGB (1024x768) | 248.04 us | 4.03 KHz |
images: Half sample RGB (1280x1024) | 667.92 us | 1.50 KHz |
images: Half sample smooth GRAY (160x120) | 1.83 us | 546.97 KHz |
images: Half sample smooth GRAY (320x240) | 6.09 us | 164.16 KHz |
images: Half sample smooth GRAY (640x480) | 28.72 us | 34.81 KHz |
images: Half sample smooth GRAY (800x600) | 44.06 us | 22.70 KHz |
images: Half sample smooth GRAY (1024x768) | 78.59 us | 12.72 KHz |
images: Half sample smooth GRAY (1280x1024) | 168.62 us | 5.93 KHz |
images: Half sample smooth RGB (160x120) | 88.54 us | 11.29 KHz |
images: Half sample smooth RGB (320x240) | 381.77 us | 2.62 KHz |
images: Half sample smooth RGB (640x480) | 1.50 ms | 665.62 Hz |
images: Half sample smooth RGB (800x600) | 2.40 ms | 417.30 Hz |
images: Half sample smooth RGB (1024x768) | 3.77 ms | 265.35 Hz |
images: Half sample smooth RGB (1280x1024) | 6.50 ms | 153.82 Hz |
images: RGB->GRAY 8u (40x30) | 3.88 us | 257.84 KHz |
images: RGB->GRAY 8u (80x60) | 2.89 us | 345.89 KHz |
images: RGB->GRAY 8u (160x120) | 10.09 us | 99.10 KHz |
images: RGB->GRAY 8u (320x240) | 39.97 us | 25.02 KHz |
images: RGB->GRAY 8u (640x480) | 172.29 us | 5.80 KHz |
images: RGB->GRAY 8u (800x600) | 303.41 us | 3.30 KHz |
images: RGB->GRAY 8u (1024x768) | 645.96 us | 1.55 KHz |
images: RGB->GRAY 8u (1280x1024) | 1.76 ms | 569.41 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 17.29 us | 57.84 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 16.49 us | 60.66 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 9.72 us | 102.89 KHz |
feature_extraction [640x480]: Harris | 31.46 ms | 31.79 Hz |
feature_extraction [640x480]: KLT | 30.94 ms | 32.32 Hz |
feature_extraction [640x480]: SIFT | 653.53 ms | 1.53 Hz |
feature_extraction [640x480]: SIFT desc. | 210.38 ms | 4.75 Hz |
feature_extraction [640x480]: SURF | 243.66 ms | 4.10 Hz |
feature_extraction [640x480]: FAST | 6.32 ms | 158.19 Hz |
feature_extraction [640x480]: Spin desc. | 45.12 ms | 22.16 Hz |
feature_matching [640x480]: Harris + CC | 46.60 ms | 21.46 Hz |
feature_matching [640x480]: Harris + SAD | 40.89 ms | 24.46 Hz |
feature_matching [640x480]: SIFT | 1.28 sec | 778.73 mHz |
feature_matching [640x480]: SURF | 502.54 ms | 1.99 Hz |
feature_matching [640x480]: FAST + CC | 19.71 ms | 50.74 Hz |
feature_matching [640x480]: FAST + SAD | 13.01 ms | 76.86 Hz |
graph(2d): insertEdge x 1e3 | 236.53 us | 4.23 KHz |
graph(2d,vec): insertEdge x 1e3 | 246.73 us | 4.05 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 218.81 us | 4.57 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e3 | 209.21 us | 4.78 KHz |
graph(2d pdf): insertEdge x 1e3 | 329.87 us | 3.03 KHz |
graph(2d pdf,vec): insertEdge x 1e3 | 303.60 us | 3.29 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 280.10 us | 3.57 KHz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 284.27 us | 3.52 KHz |
graph(2d): insertEdge x 1e4 | 2.72 ms | 367.00 Hz |
graph(2d,vec): insertEdge x 1e4 | 2.73 ms | 366.67 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 1.95 ms | 512.34 Hz |
graph(2d,vec): insertEdgeAtEnd x 1e4 | 1.92 ms | 519.87 Hz |
graph(2d pdf): insertEdge x 1e4 | 3.21 ms | 311.68 Hz |
graph(2d pdf,vec): insertEdge x 1e4 | 3.24 ms | 308.83 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 3.23 ms | 309.95 Hz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 3.17 ms | 314.97 Hz |
graph(3d): insertEdge x 1e3 | 274.22 us | 3.65 KHz |
graph(3d,vec): insertEdge x 1e3 | 264.66 us | 3.78 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 263.97 us | 3.79 KHz |
graph(3d,vec): insertEdgeAtEnd x 1e3 | 267.33 us | 3.74 KHz |
graph(3d pdf): insertEdge x 1e3 | 589.01 us | 1.70 KHz |
graph(3d pdf,vec): insertEdge x 1e3 | 596.64 us | 1.68 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 562.97 us | 1.78 KHz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 559.03 us | 1.79 KHz |
graph(3d): insertEdge x 1e4 | 3.23 ms | 309.17 Hz |
graph(3d,vec): insertEdge x 1e4 | 3.13 ms | 319.30 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 2.62 ms | 381.66 Hz |
graph(3d,vec): insertEdgeAtEnd x 1e4 | 2.55 ms | 392.76 Hz |
graph(3d pdf): insertEdge x 1e4 | 6.11 ms | 163.57 Hz |
graph(3d pdf,vec): insertEdge x 1e4 | 5.61 ms | 178.36 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 5.21 ms | 192.01 Hz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 5.18 ms | 192.88 Hz |
graph(3d): dijkstra 1e2 nodes | 156.43 us | 6.39 KHz |
graph(3d,vec): dijkstra 1e2 nodes | 192.33 us | 5.20 KHz |
graph(3d): dijkstra 1e3 nodes | 2.18 ms | 459.11 Hz |
graph(3d,vec): dijkstra 1e3 nodes | 1.80 ms | 555.25 Hz |
graph(3d): dijkstra 1e4 nodes | 26.67 ms | 37.50 Hz |
graph(3d,vec): dijkstra 1e4 nodes | 22.83 ms | 43.80 Hz |
graph(3d): dijkstra 1e5 nodes | 307.16 ms | 3.26 Hz |
graph(3d,vec): dijkstra 1e5 nodes | 266.80 ms | 3.75 Hz |
graph(2d): dijkstra 1e5 nodes | 302.10 ms | 3.31 Hz |
graph(2d,vec): dijkstra 1e5 nodes | 262.78 ms | 3.81 Hz |