Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 30.39 ms | 32.90 Hz |
icp-slam (match grid): Run with sample dataset | 52.58 ms | 19.02 Hz |
poses: CPose3D (+) CPose3D | 264.70 ns | 3.78 MHz |
poses: CPose3D.composeFrom() | 98.01 ns | 10.20 MHz |
poses: CPose3D (+) CPoint3D | 27.86 ns | 35.89 MHz |
poses: CPose3D.composePoint() | 19.17 ns | 52.16 MHz |
poses: CPoint3D (-) CPose3D | 51.66 ns | 19.36 MHz |
poses: CPose3D.inverseComposePoint() | 46.91 ns | 21.32 MHz |
poses: CPose2D (+) CPose2D | 99.28 ns | 10.07 MHz |
poses: CPose2D.composeFrom() | 89.67 ns | 11.15 MHz |
poses: CPose2D (+) CPoint2D | 82.07 ns | 12.18 MHz |
poses: CPose2D.composePoint() | 64.58 ns | 15.49 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 87.19 ns | 11.47 MHz |
poses: CPose3DQuat.composeFrom() | 57.14 ns | 17.50 MHz |
poses: CPose3DQuat (+) CPoint3D | 48.22 ns | 20.74 MHz |
poses: CPose3DQuat.composePoint() | 29.64 ns | 33.74 MHz |
poses: CPoint3D (-) CPose3DQuat | 84.32 ns | 11.86 MHz |
poses: CPose3DQuat.invcomposePoint() | 30.72 ns | 32.55 MHz |
poses: Conv CPose3DQuat <- CPose3D | 33.02 ns | 30.29 MHz |
poses: Conv CPose3D -> CPose3DQuat | 206.69 ns | 4.84 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 1.35 us | 739.68 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 1.40 us | 712.12 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 23.15 us | 43.20 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 1.62 us | 617.00 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 1.63 us | 613.67 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 15.82 us | 63.21 KHz |
matrix: unit, dyn[float], 3x3 | 38.75 ns | 25.81 MHz |
matrix: unit, dyn[double], 3x3 | 38.69 ns | 25.85 MHz |
matrix: unit, dyn[float], 6x6 | 163.36 ns | 6.12 MHz |
matrix: unit, dyn[double], 6x6 | 213.06 ns | 4.69 MHz |
matrix: unit, fix[float,3,3] | 3.56 ns | 280.77 MHz |
matrix: unit, fix[double,3,3] | 3.29 ns | 304.17 MHz |
matrix: unit, fix[float,6,6] | 2.77 ns | 360.95 MHz |
matrix: unit, fix[double,6,6] | 6.07 ns | 164.80 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 168.66 ns | 5.93 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 109.47 ns | 9.14 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 159.15 ns | 6.28 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 87.59 ns | 11.42 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 272.34 ns | 3.67 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 190.04 ns | 5.26 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 245.84 ns | 4.07 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 138.91 ns | 7.20 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 16.67 us | 60.00 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 12.92 us | 77.41 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 13.30 us | 75.16 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 9.66 us | 103.53 KHz |
matrix: inv, dyn[float ] 3x3 | 1.46 us | 685.70 KHz |
matrix: inv, fix[float ] 3x3 | 59.78 ns | 16.73 MHz |
matrix: inv, dyn[double] 3x3 | 1.47 us | 681.67 KHz |
matrix: inv, fix[double] 3x3 | 30.80 ns | 32.47 MHz |
matrix: inv, dyn[float ] 6x6 | 4.39 us | 227.86 KHz |
matrix: inv, fix[float ] 6x6 | 1.39 us | 718.96 KHz |
matrix: inv, dyn[double] 6x6 | 5.05 us | 198.20 KHz |
matrix: inv, fix[double] 6x6 | 944.32 ns | 1.06 MHz |
matrix: inv, dyn[float ] 20x20 | 80.56 us | 12.41 KHz |
matrix: inv, fix[float ] 20x20 | 39.77 us | 25.14 KHz |
matrix: inv, dyn[double] 20x20 | 106.06 us | 9.43 KHz |
matrix: inv, fix[double] 20x20 | 18.99 us | 52.65 KHz |
matrix: inv, dyn[float ] 40x40 | 594.37 us | 1.68 KHz |
matrix: inv, fix[float ] 40x40 | 302.87 us | 3.30 KHz |
matrix: inv, dyn[double] 40x40 | 805.07 us | 1.24 KHz |
matrix: inv, fix[double] 40x40 | 129.27 us | 7.74 KHz |
matrix: det, dyn[float ] 2x2 | 7.97 ns | 125.45 MHz |
matrix: det, fix[float ] 2x2 | 0.05 ns | 22.08 GHz |
matrix: det, dyn[double] 2x2 | 8.47 ns | 118.07 MHz |
matrix: det, fix[double] 2x2 | 0.00 ns | 1.#J THz |
matrix: det, dyn[float ] 3x3 | 20.83 ns | 48.00 MHz |
matrix: det, fix[float ] 3x3 | 0.05 ns | 22.08 GHz |
matrix: det, dyn[double] 3x3 | 15.90 ns | 62.90 MHz |
matrix: det, fix[double] 3x3 | 0.00 ns | 1.#J THz |
matrix: det, dyn[float ] 6x6 | 2.28 us | 438.79 KHz |
matrix: det, fix[float ] 6x6 | 455.22 ns | 2.20 MHz |
matrix: det, dyn[double] 6x6 | 2.27 us | 440.64 KHz |
matrix: det, fix[double] 6x6 | 409.52 ns | 2.44 MHz |
matrix: det, dyn[float ] 20x20 | 18.23 us | 54.86 KHz |
matrix: det, fix[float ] 20x20 | 9.64 us | 103.77 KHz |
matrix: det, dyn[double] 20x20 | 17.63 us | 56.72 KHz |
matrix: det, fix[double] 20x20 | 6.19 us | 161.63 KHz |
matrix: det, dyn[float ] 40x40 | 109.51 us | 9.13 KHz |
matrix: det, fix[float ] 40x40 | 61.78 us | 16.19 KHz |
matrix: det, dyn[double] 40x40 | 112.43 us | 8.89 KHz |
matrix: det, fix[double] 40x40 | 35.24 us | 28.38 KHz |
matrix: chol, dyn[double] 4x4 | 172.11 ns | 5.81 MHz |
matrix: chol, fix[double] 4x4 | 117.76 ns | 8.49 MHz |
matrix: chol, dyn[double] 40x40 | 24.40 us | 40.98 KHz |
matrix: chol, fix[double] 40x40 | 17.68 us | 56.57 KHz |
matrix: chol, sparse [2x2;2x2] | 8.42 us | 118.71 KHz |
matrix: chol, sparse [30x30;10x10] | 118.80 us | 8.42 KHz |
matrix: chol, dyn[double] 10x[6x6] | 69.79 us | 14.33 KHz |
matrix: chol, sparse 10x[6x6] | 52.54 us | 19.03 KHz |
matrix: chol, dyn[double] 20x[6x6] | 466.09 us | 2.15 KHz |
matrix: chol, sparse 20x[6x6] | 89.01 us | 11.24 KHz |
matrix: chol, dyn[double] 50x[6x6] | 9.32 ms | 107.25 Hz |
matrix: chol, sparse 50x[6x6] | 201.22 us | 4.97 KHz |
matrix: chol, dyn[double] 100x[6x6] | 138.07 ms | 7.24 Hz |
matrix: chol, sparse 100x[6x6] | 401.45 us | 2.49 KHz |
matrix: chol, dyn[double] 120x[6x6] | 453.62 ms | 2.20 Hz |
matrix: chol, sparse 120x[6x6] | 474.18 us | 2.11 KHz |
matrix: chol, dyn[double] 140x[6x6] | 945.16 ms | 1.06 Hz |
matrix: chol, sparse 140x[6x6] | 552.77 us | 1.81 KHz |
gridmap2D: getCell | 5.57 ns | 179.64 MHz |
gridmap2D: setCell | 7.80 ns | 128.17 MHz |
gridmap2D: updateCell | 10.65 ns | 93.93 MHz |
gridmap2D: updateCell_fast_occupied | 1.20 ns | 834.82 MHz |
gridmap2D: insert scan w/o widening | 202.10 us | 4.95 KHz |
gridmap2D: insert scan with widening | 338.79 us | 2.95 KHz |
gridmap2D: resize | 3.58 ms | 279.42 Hz |
gridmap2D: computeLikelihood | 18.09 us | 55.28 KHz |
pointmap: insert 100 scans | 5.50 ms | 181.98 Hz |
pointmap: build 2D kd-tree of 1 scan | 6.29 us | 159.07 KHz |
pointmap: build 2D kd-tree of 100 scan | 520.70 us | 1.92 KHz |
pointmap: build 2D kd-tree of 1000 scan | 5.50 ms | 181.67 Hz |
pointmap: build 3D kd-tree of 1 scan | 6.47 us | 154.62 KHz |
pointmap: build 3D kd-tree of 100 scan | 526.59 us | 1.90 KHz |
pointmap: build 3D kd-tree of 1000 scan | 5.63 ms | 177.52 Hz |
pointmap: kd-tree 2d query on 10 scans | 2.04 us | 490.44 KHz |
pointmap: kd-tree 2d query on 1000 scans | 137.79 us | 7.26 KHz |
pointmap: kd-tree 2d query on 10000 scans | 14.88 ms | 67.19 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 8.57 ms | 116.69 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 191.63 ms | 5.22 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 8.64 ms | 115.78 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 194.89 ms | 5.13 Hz |
random: drawUniform32bit | 7.21 ns | 138.68 MHz |
random: drawUniform | 7.18 ns | 139.23 MHz |
random: drawGaussian1D_normalized | 51.37 ns | 19.47 MHz |
random: drawGaussian1D | 51.39 ns | 19.46 MHz |
random: system rand() | 28.61 ns | 34.95 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 2.55 us | 391.65 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 8.36 us | 119.66 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 213.95 ns | 4.67 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 324.69 ns | 3.08 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 829.70 ns | 1.21 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 214.89 ns | 4.65 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 364.99 ns | 2.74 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 760.13 ns | 1.32 MHz |
random: permuteVector (len=10) | 420.57 ns | 2.38 MHz |
random: permuteVector (len=100) | 3.56 us | 281.12 KHz |
random: permuteVector (len=1000) | 33.55 us | 29.80 KHz |
math: round | 0.00 ns | 1.#J THz |
images: Save as JPEG (640x480, quality=95%) | 28.40 ms | 35.21 Hz |
images: Save as JPEG (800x600, quality=95%) | 43.71 ms | 22.88 Hz |
images: Save as JPEG (1024x768, quality=95%) | 70.17 ms | 14.25 Hz |
images: Save as JPEG (640x480, quality=75%) | 24.11 ms | 41.48 Hz |
images: Save as JPEG (800x600, quality=75%) | 37.02 ms | 27.01 Hz |
images: Save as JPEG (1024x768, quality=75%) | 59.51 ms | 16.80 Hz |
images: Gauss filter (640x480) | 5.29 ms | 188.95 Hz |
images: Gauss filter (800x600) | 8.36 ms | 119.64 Hz |
images: Gauss filter (1024x768) | 13.88 ms | 72.06 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 18.63 us | 53.67 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 17.89 us | 55.91 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 5.05 us | 197.84 KHz |
feature_extraction [640x480]: Harris | 33.27 ms | 30.06 Hz |
feature_extraction [640x480]: KLT | 31.21 ms | 32.04 Hz |
feature_extraction [640x480]: SIFT | 675.81 ms | 1.48 Hz |
feature_extraction [640x480]: SIFT desc. | 217.19 ms | 4.60 Hz |
feature_extraction [640x480]: SURF | 316.97 ms | 3.15 Hz |
feature_extraction [640x480]: FAST | 7.82 ms | 127.91 Hz |
feature_extraction [640x480]: Spin desc. | 103.38 ms | 9.67 Hz |
feature_matching [640x480]: Harris + CC | 56.24 ms | 17.78 Hz |
feature_matching [640x480]: Harris + SAD | 47.55 ms | 21.03 Hz |
feature_matching [640x480]: SIFT | 1.34 sec | 745.82 mHz |
feature_matching [640x480]: SURF | 606.64 ms | 1.65 Hz |
feature_matching [640x480]: FAST + CC | 22.36 ms | 44.72 Hz |
feature_matching [640x480]: FAST + SAD | 15.00 ms | 66.69 Hz |
graph(2d): insertEdge x 1e3 | 313.03 us | 3.19 KHz |
graph(2d,vec): insertEdge x 1e3 | 307.43 us | 3.25 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 222.64 us | 4.49 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e3 | 222.87 us | 4.49 KHz |
graph(2d pdf): insertEdge x 1e3 | 516.93 us | 1.93 KHz |
graph(2d pdf,vec): insertEdge x 1e3 | 517.18 us | 1.93 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 405.97 us | 2.46 KHz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 403.48 us | 2.48 KHz |
graph(2d): insertEdge x 1e4 | 3.36 ms | 297.28 Hz |
graph(2d,vec): insertEdge x 1e4 | 3.35 ms | 298.76 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 2.22 ms | 450.51 Hz |
graph(2d,vec): insertEdgeAtEnd x 1e4 | 2.22 ms | 450.21 Hz |
graph(2d pdf): insertEdge x 1e4 | 5.45 ms | 183.37 Hz |
graph(2d pdf,vec): insertEdge x 1e4 | 5.44 ms | 183.91 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 4.07 ms | 245.74 Hz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 4.06 ms | 246.50 Hz |
graph(3d): insertEdge x 1e3 | 447.20 us | 2.24 KHz |
graph(3d,vec): insertEdge x 1e3 | 442.12 us | 2.26 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 346.69 us | 2.88 KHz |
graph(3d,vec): insertEdgeAtEnd x 1e3 | 347.20 us | 2.88 KHz |
graph(3d pdf): insertEdge x 1e3 | 944.03 us | 1.06 KHz |
graph(3d pdf,vec): insertEdge x 1e3 | 978.08 us | 1.02 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 793.19 us | 1.26 KHz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 793.52 us | 1.26 KHz |
graph(3d): insertEdge x 1e4 | 4.62 ms | 216.43 Hz |
graph(3d,vec): insertEdge x 1e4 | 4.62 ms | 216.67 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 3.48 ms | 287.28 Hz |
graph(3d,vec): insertEdgeAtEnd x 1e4 | 3.47 ms | 287.84 Hz |
graph(3d pdf): insertEdge x 1e4 | 10.55 ms | 94.75 Hz |
graph(3d pdf,vec): insertEdge x 1e4 | 9.75 ms | 102.54 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 7.93 ms | 126.08 Hz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 7.94 ms | 125.93 Hz |
graph(3d): dijkstra 1e2 nodes | 262.18 us | 3.81 KHz |
graph(3d,vec): dijkstra 1e2 nodes | 363.67 us | 2.75 KHz |
graph(3d): dijkstra 1e3 nodes | 2.97 ms | 336.14 Hz |
graph(3d,vec): dijkstra 1e3 nodes | 3.29 ms | 303.75 Hz |
graph(3d): dijkstra 1e4 nodes | 34.21 ms | 29.23 Hz |
graph(3d,vec): dijkstra 1e4 nodes | 38.12 ms | 26.23 Hz |
graph(3d): dijkstra 1e5 nodes | 389.54 ms | 2.57 Hz |
graph(3d,vec): dijkstra 1e5 nodes | 428.64 ms | 2.33 Hz |
graph(2d): dijkstra 1e5 nodes | 382.11 ms | 2.62 Hz |
graph(2d,vec): dijkstra 1e5 nodes | 417.45 ms | 2.40 Hz |