Test description | Execution time | Execution rate (Hz) |
icp-slam (match points): Run with sample dataset | 19.99 ms | 50.03 Hz |
icp-slam (match grid): Run with sample dataset | 19.29 ms | 51.84 Hz |
poses: CPose3D (+) CPose3D | 42.85 ns | 23.34 MHz |
poses: CPose3D.composeFrom() | 37.80 ns | 26.46 MHz |
poses: CPose3D (+) CPoint3D | 7.25 ns | 137.89 MHz |
poses: CPose3D.composePoint() | 11.91 ns | 83.98 MHz |
poses: CPoint3D (-) CPose3D | 48.98 ns | 20.42 MHz |
poses: CPose3D.inverseComposePoint() | 34.95 ns | 28.61 MHz |
poses: CPose2D (+) CPose2D | 78.58 ns | 12.73 MHz |
poses: CPose2D.composeFrom() | 70.31 ns | 14.22 MHz |
poses: CPose2D (+) CPoint2D | 61.33 ns | 16.31 MHz |
poses: CPose2D.composePoint() | 65.17 ns | 15.35 MHz |
poses: CPose3DQuat (+) CPose3DQuat | 44.66 ns | 22.39 MHz |
poses: CPose3DQuat.composeFrom() | 39.43 ns | 25.36 MHz |
poses: CPose3DQuat (+) CPoint3D | 18.24 ns | 54.84 MHz |
poses: CPose3DQuat.composePoint() | 17.94 ns | 55.75 MHz |
poses: CPoint3D (-) CPose3DQuat | 55.43 ns | 18.04 MHz |
poses: CPose3DQuat.invcomposePoint() | 17.64 ns | 56.69 MHz |
poses: Conv CPose3DQuat <- CPose3D | 16.70 ns | 59.89 MHz |
poses: Conv CPose3D -> CPose3DQuat | 169.28 ns | 5.91 MHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (DEF) | 760.96 us | 1.31 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (Lin) | 760.62 us | 1.31 KHz |
poses: Conv CPose3DQuat Gauss <- CPose3D Gauss (SUT) | 9.47 us | 105.55 KHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (DEF) | 545.30 ns | 1.83 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (Lin) | 544.10 ns | 1.84 MHz |
poses: Conv CPose3D Gauss <- CPose3DQuat Gauss (SUT) | 8.11 us | 123.33 KHz |
matrix: unit, dyn[float], 3x3 | 20.92 ns | 47.81 MHz |
matrix: unit, dyn[double], 3x3 | 20.15 ns | 49.63 MHz |
matrix: unit, dyn[float], 6x6 | 54.04 ns | 18.51 MHz |
matrix: unit, dyn[double], 6x6 | 55.27 ns | 18.09 MHz |
matrix: unit, fix[float,3,3] | 0.35 ns | 2.89 GHz |
matrix: unit, fix[double,3,3] | 1.19 ns | 842.46 MHz |
matrix: unit, fix[float,6,6] | 1.70 ns | 588.93 MHz |
matrix: unit, fix[double,6,6] | 2.77 ns | 360.36 MHz |
matrix: multiply, dyn[float ], 3x3 * 3x3 | 73.10 ns | 13.68 MHz |
matrix: multiply, fix[float ], 3x3 * 3x3 | 23.80 ns | 42.02 MHz |
matrix: multiply, dyn[double], 3x3 * 3x3 | 72.40 ns | 13.81 MHz |
matrix: multiply, fix[double], 3x3 * 3x3 | 23.40 ns | 42.74 MHz |
matrix: multiply, dyn[float ], 3x6 * 6x3 | 110.50 ns | 9.05 MHz |
matrix: multiply, fix[float ], 3x6 * 6x3 | 45.10 ns | 22.17 MHz |
matrix: multiply, dyn[double], 3x6 * 6x3 | 116.30 ns | 8.60 MHz |
matrix: multiply, fix[double], 3x6 * 6x3 | 45.20 ns | 22.12 MHz |
matrix: multiply, dyn[float ], 10x40 * 40x10 | 5.19 us | 192.77 KHz |
matrix: multiply, fix[float ], 10x40 * 40x10 | 3.55 us | 281.56 KHz |
matrix: multiply, dyn[double], 10x40 * 40x10 | 5.18 us | 193.05 KHz |
matrix: multiply, fix[double], 10x40 * 40x10 | 3.61 us | 277.05 KHz |
matrix: inv, dyn[float ] 3x3 | 333.00 ns | 3.00 MHz |
matrix: inv, fix[float ] 3x3 | 21.00 ns | 47.62 MHz |
matrix: inv, dyn[double] 3x3 | 329.00 ns | 3.04 MHz |
matrix: inv, fix[double] 3x3 | 21.00 ns | 47.62 MHz |
matrix: inv, dyn[float ] 6x6 | 1.22 us | 821.69 KHz |
matrix: inv, fix[float ] 6x6 | 468.00 ns | 2.14 MHz |
matrix: inv, dyn[double] 6x6 | 1.20 us | 832.64 KHz |
matrix: inv, fix[double] 6x6 | 578.00 ns | 1.73 MHz |
matrix: inv, dyn[float ] 20x20 | 25.24 us | 39.62 KHz |
matrix: inv, fix[float ] 20x20 | 12.60 us | 79.36 KHz |
matrix: inv, dyn[double] 20x20 | 25.64 us | 39.01 KHz |
matrix: inv, fix[double] 20x20 | 17.36 us | 57.60 KHz |
matrix: inv, dyn[float ] 40x40 | 190.86 us | 5.24 KHz |
matrix: inv, fix[float ] 40x40 | 88.89 us | 11.25 KHz |
matrix: inv, dyn[double] 40x40 | 189.04 us | 5.29 KHz |
matrix: inv, fix[double] 40x40 | 121.47 us | 8.23 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 | 692.40 ns | 1.44 MHz |
matrix: det, fix[float ] 6x6 | 207.00 ns | 4.83 MHz |
matrix: det, dyn[double] 6x6 | 696.30 ns | 1.44 MHz |
matrix: det, fix[double] 6x6 | 212.30 ns | 4.71 MHz |
matrix: det, dyn[float ] 20x20 | 5.39 us | 185.56 KHz |
matrix: det, fix[float ] 20x20 | 3.90 us | 256.35 KHz |
matrix: det, dyn[double] 20x20 | 6.40 us | 156.16 KHz |
matrix: det, fix[double] 20x20 | 4.72 us | 211.77 KHz |
matrix: det, dyn[float ] 40x40 | 30.35 us | 32.95 KHz |
matrix: det, fix[float ] 40x40 | 26.47 us | 37.78 KHz |
matrix: det, dyn[double] 40x40 | 32.49 us | 30.77 KHz |
matrix: det, fix[double] 40x40 | 27.34 us | 36.58 KHz |
matrix: chol, dyn[double] 4x4 | 130.00 ns | 7.69 MHz |
matrix: chol, fix[double] 4x4 | 140.00 ns | 7.14 MHz |
matrix: chol, dyn[double] 40x40 | 18.52 us | 54.00 KHz |
matrix: chol, fix[double] 40x40 | 16.55 us | 60.42 KHz |
matrix: chol, sparse [2x2;2x2] | 8.20 us | 121.95 KHz |
matrix: chol, sparse [30x30;10x10] | 82.90 us | 12.06 KHz |
matrix: chol, dyn[double] 10x[6x6] | 52.70 us | 18.98 KHz |
matrix: chol, sparse 10x[6x6] | 38.59 us | 25.91 KHz |
matrix: chol, dyn[double] 20x[6x6] | 409.80 us | 2.44 KHz |
matrix: chol, sparse 20x[6x6] | 70.75 us | 14.13 KHz |
matrix: chol, dyn[double] 50x[6x6] | 8.58 ms | 116.60 Hz |
matrix: chol, sparse 50x[6x6] | 171.20 us | 5.84 KHz |
matrix: chol, dyn[double] 100x[6x6] | 133.58 ms | 7.49 Hz |
matrix: chol, sparse 100x[6x6] | 341.85 us | 2.93 KHz |
matrix: chol, dyn[double] 120x[6x6] | 354.49 ms | 2.82 Hz |
matrix: chol, sparse 120x[6x6] | 401.50 us | 2.49 KHz |
matrix: chol, dyn[double] 140x[6x6] | 773.25 ms | 1.29 Hz |
matrix: chol, sparse 140x[6x6] | 469.25 us | 2.13 KHz |
gridmap2D: getCell | 0.00 ns | 10.00 THz |
gridmap2D: setCell | 2.58 ns | 388.02 MHz |
gridmap2D: updateCell | 7.84 ns | 127.58 MHz |
gridmap2D: updateCell_fast_occupied | 0.55 ns | 1.82 GHz |
gridmap2D: insert scan w/o widening | 102.06 us | 9.80 KHz |
gridmap2D: insert scan with widening | 289.47 us | 3.45 KHz |
gridmap2D: resize | 1.97 ms | 508.65 Hz |
gridmap2D: computeLikelihood | 15.74 us | 63.55 KHz |
pointmap: insert 100 scans | 3.04 ms | 329.30 Hz |
pointmap: build 2D kd-tree of 1 scan | 4.32 us | 231.48 KHz |
pointmap: build 2D kd-tree of 100 scan | 352.12 us | 2.84 KHz |
pointmap: build 2D kd-tree of 1000 scan | 4.14 ms | 241.51 Hz |
pointmap: build 3D kd-tree of 1 scan | 4.68 us | 213.68 KHz |
pointmap: build 3D kd-tree of 100 scan | 359.52 us | 2.78 KHz |
pointmap: build 3D kd-tree of 1000 scan | 4.03 ms | 248.28 Hz |
pointmap: kd-tree 2d query on 10 scans | 1.41 us | 711.74 KHz |
pointmap: kd-tree 2d query on 1000 scans | 97.21 us | 10.29 KHz |
pointmap: kd-tree 2d query on 10000 scans | 11.62 ms | 86.05 Hz |
pointmap: (insert scan+2D kd-tree query) x 10 | 5.59 ms | 178.77 Hz |
pointmap: (insert scan+2D kd-tree query) x 50 | 129.28 ms | 7.73 Hz |
pointmap: (insert scan+3D kd-tree query) x 10 | 5.66 ms | 176.53 Hz |
pointmap: (insert scan+3D kd-tree query) x 50 | 131.22 ms | 7.62 Hz |
random: drawUniform32bit | 14.50 ns | 68.95 MHz |
random: drawUniform | 14.50 ns | 68.96 MHz |
random: drawGaussian1D_normalized | 68.97 ns | 14.50 MHz |
random: drawGaussian1D | 68.98 ns | 14.50 MHz |
random: system rand() | 10.45 ns | 95.72 MHz |
random: drawGaussianMultivariate(fixed 3x3) | 1.31 us | 765.12 KHz |
random: drawGaussianMultivariate(dyn 3x3) | 2.73 us | 366.37 KHz |
random: drawGaussianMultivariateMany(fixed 2x2, 1000) | 158.91 ns | 6.29 MHz |
random: drawGaussianMultivariateMany(fixed 3x3, 1000) | 237.40 ns | 4.21 MHz |
random: drawGaussianMultivariateMany(fixed 6x6, 1000) | 490.03 ns | 2.04 MHz |
random: drawGaussianMultivariateMany(dyn 2x2, 1000) | 164.67 ns | 6.07 MHz |
random: drawGaussianMultivariateMany(dyn 3x3, 1000) | 249.81 ns | 4.00 MHz |
random: drawGaussianMultivariateMany(dyn 6x6, 1000) | 514.70 ns | 1.94 MHz |
random: permuteVector (len=10) | 296.20 ns | 3.38 MHz |
random: permuteVector (len=100) | 3.04 us | 328.91 KHz |
random: permuteVector (len=1000) | 30.22 us | 33.09 KHz |
math: round | 0.10 ns | 10.09 GHz |
images: Save as JPEG (640x480, quality=95%) | 35.06 ms | 28.52 Hz |
images: Save as JPEG (800x600, quality=95%) | 48.96 ms | 20.42 Hz |
images: Save as JPEG (1024x768, quality=95%) | 74.65 ms | 13.40 Hz |
images: Save as JPEG (640x480, quality=75%) | 29.96 ms | 33.37 Hz |
images: Save as JPEG (800x600, quality=75%) | 42.79 ms | 23.37 Hz |
images: Save as JPEG (1024x768, quality=75%) | 64.15 ms | 15.59 Hz |
images: Gauss filter (640x480) | 3.90 ms | 256.30 Hz |
images: Gauss filter (800x600) | 6.21 ms | 160.99 Hz |
images: Gauss filter (1024x768) | 10.55 ms | 94.74 Hz |
scan_matching: 6D LS Rigid Trans. [CPose3D] | 5.06 us | 197.63 KHz |
scan_matching: 6D LS Rigid Trans. [CPose3DQuat] | 4.30 us | 232.56 KHz |
scan_matching: 6D LS Rigid Trans. [vector of points] | 2.10 us | 476.19 KHz |
feature_extraction [640x480]: Harris | 24.28 ms | 41.19 Hz |
feature_extraction [640x480]: KLT | 24.43 ms | 40.94 Hz |
feature_extraction [640x480]: SIFT | 610.42 ms | 1.64 Hz |
feature_extraction [640x480]: SIFT desc. | 167.77 ms | 5.96 Hz |
feature_extraction [640x480]: SURF | 197.61 ms | 5.06 Hz |
feature_extraction [640x480]: FAST | 5.24 ms | 190.68 Hz |
feature_extraction [640x480]: Spin desc. | 59.98 ms | 16.67 Hz |
feature_matching [640x480]: Harris + CC | 40.88 ms | 24.46 Hz |
feature_matching [640x480]: Harris + SAD | 35.50 ms | 28.17 Hz |
feature_matching [640x480]: SIFT | 1.21 sec | 828.07 mHz |
feature_matching [640x480]: SURF | 379.92 ms | 2.63 Hz |
feature_matching [640x480]: FAST + CC | 16.06 ms | 62.26 Hz |
feature_matching [640x480]: FAST + SAD | 10.73 ms | 93.18 Hz |
graph(2d): insertEdge x 1e3 | 117.65 us | 8.50 KHz |
graph(2d,vec): insertEdge x 1e3 | 105.12 us | 9.51 KHz |
graph(2d): insertEdgeAtEnd x 1e3 | 85.19 us | 11.74 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e3 | 84.46 us | 11.84 KHz |
graph(2d pdf): insertEdge x 1e3 | 172.53 us | 5.80 KHz |
graph(2d pdf,vec): insertEdge x 1e3 | 187.97 us | 5.32 KHz |
graph(2d pdf): insertEdgeAtEnd x 1e3 | 168.61 us | 5.93 KHz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e3 | 167.39 us | 5.97 KHz |
graph(2d): insertEdge x 1e4 | 1.73 ms | 579.22 Hz |
graph(2d,vec): insertEdge x 1e4 | 1.45 ms | 690.59 Hz |
graph(2d): insertEdgeAtEnd x 1e4 | 884.69 us | 1.13 KHz |
graph(2d,vec): insertEdgeAtEnd x 1e4 | 862.22 us | 1.16 KHz |
graph(2d pdf): insertEdge x 1e4 | 1.97 ms | 506.65 Hz |
graph(2d pdf,vec): insertEdge x 1e4 | 2.31 ms | 433.74 Hz |
graph(2d pdf): insertEdgeAtEnd x 1e4 | 1.86 ms | 538.12 Hz |
graph(2d pdf,vec): insertEdgeAtEnd x 1e4 | 1.86 ms | 538.35 Hz |
graph(3d): insertEdge x 1e3 | 177.23 us | 5.64 KHz |
graph(3d,vec): insertEdge x 1e3 | 178.36 us | 5.61 KHz |
graph(3d): insertEdgeAtEnd x 1e3 | 157.86 us | 6.33 KHz |
graph(3d,vec): insertEdgeAtEnd x 1e3 | 159.54 us | 6.27 KHz |
graph(3d pdf): insertEdge x 1e3 | 507.00 us | 1.97 KHz |
graph(3d pdf,vec): insertEdge x 1e3 | 509.46 us | 1.96 KHz |
graph(3d pdf): insertEdgeAtEnd x 1e3 | 473.36 us | 2.11 KHz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e3 | 474.07 us | 2.11 KHz |
graph(3d): insertEdge x 1e4 | 2.47 ms | 404.60 Hz |
graph(3d,vec): insertEdge x 1e4 | 2.48 ms | 402.82 Hz |
graph(3d): insertEdgeAtEnd x 1e4 | 1.75 ms | 570.48 Hz |
graph(3d,vec): insertEdgeAtEnd x 1e4 | 1.77 ms | 565.81 Hz |
graph(3d pdf): insertEdge x 1e4 | 5.53 ms | 180.97 Hz |
graph(3d pdf,vec): insertEdge x 1e4 | 5.56 ms | 179.70 Hz |
graph(3d pdf): insertEdgeAtEnd x 1e4 | 4.85 ms | 206.16 Hz |
graph(3d pdf,vec): insertEdgeAtEnd x 1e4 | 4.85 ms | 206.11 Hz |
graph(3d): dijkstra 1e2 nodes | 96.04 us | 10.41 KHz |
graph(3d,vec): dijkstra 1e2 nodes | 80.39 us | 12.44 KHz |
graph(3d): dijkstra 1e3 nodes | 1.13 ms | 885.05 Hz |
graph(3d,vec): dijkstra 1e3 nodes | 804.04 us | 1.24 KHz |
graph(3d): dijkstra 1e4 nodes | 19.14 ms | 52.26 Hz |
graph(3d,vec): dijkstra 1e4 nodes | 9.65 ms | 103.63 Hz |
graph(3d): dijkstra 1e5 nodes | 290.37 ms | 3.44 Hz |
graph(3d,vec): dijkstra 1e5 nodes | 117.73 ms | 8.49 Hz |
graph(2d): dijkstra 1e5 nodes | 268.93 ms | 3.72 Hz |
graph(2d,vec): dijkstra 1e5 nodes | 103.05 ms | 9.70 Hz |