opencv
测试CPU型号:Intel® Core™ i7-6700 CPU @ 3.40GHz
分辨率 | 优化 | 循环次数 | 速度 |
---|---|---|---|
4032x3024 | 原始实现 | 1000 | 12.139ms |
4032x3024 | 第一版优化(float->INT) | 1000 | 7.629ms |
4032x3024 | OpenCV 自带函数 | 1000 | 4.287ms |
4032x3024 | 第二版优化(手动4路并行) | 1000 | 10.528ms |
4032x3024 | 第三版优化(OpenMP4线程) | 1000 | 7.632ms |
4032x3024 | 第四版优化(SSE优化,一次处理12个像素) | 1000 | 5.579ms |
4032x3024 | 第五版优化(SSE优化,一次处理15个像素) | 1000 | 5.843ms |
4032x3024 | 第六版优化(AVX2优化,一次处理10个像素) | 1000 | 3.576ms |
4032x3024 | 第七版优化(AVX2优化+std::async) | 1000 | 2.626ms |
分辨率 | 优化 | 循环次数 | 速度 |
---|---|---|---|
4032x3024 | 原始实现 | 100 | 115.36ms |
4032x3024 | 第一版优化 | 100 | 62.43ms |
4032x3024 | 第二版优化(4线程) | 100 | 28.89ms |
4032x3024 | 第三版优化(SSE) | 100 | 12.69ms |
分辨率 | 算法优化 | 循环次数 | 速度 |
---|---|---|---|
4032x3024 | 普通实现 | 1000 | 126.54 ms |
4032x3024 | Float->INT+查表法 | 1000 | 81.62 ms |
4032x3024 | SSE优化版本1 | 1000 | 34.95 ms |
4032x3024 | SSE优化版本2 | 1000 | 28.87 ms |
4032x3024 | AVX2优化版本1 | 1000 | 15.42 ms |
4032x3024 | AVX2优化+std::async | 1000 | 5.69 ms |
分辨率 | 算法优化 | 循环次数 | 速度 |
---|---|---|---|
4272x2848 | 普通实现 | 1000 | 41.40ms |
4272x2848 | OpenMP 4线程 | 1000 | 36.54ms |
4272x2848 | SSE第一版 | 1000 | 6.77ms |
4272x2848 | SSE第二版(std::async) | 1000 | 4.73ms |
分辨率 | 算法优化 | 循环次数 | 速度 |
---|---|---|---|
4032x3024 | 普通实现 | 1000 | 150.58ms |
4032x3024 | 去掉浮点数,除法用位运算代替 | 1000 | 76.70ms |
4032x3024 | OpenMP 4线程 | 1000 | 50.48ms |
4032x3024 | 普通SSE向量化 | 1000 | 48.92ms |
4032x3024 | _mm_madd_epi16二次优化 | 1000 | 33.04ms |
4032x3024 | SSE+4线程 | 1000 | 23.70ms |
分辨率 | 算法优化 | 循环次数 | 速度 |
---|---|---|---|
4032x3024 | 普通实现 | 10 | 8293.79 ms |
4032x3024 | 逻辑优化,更好的流水 | 10 | 83.75 ms |
4032x3024 | SSE优化 | 10 | 11.93 ms |
4032x3024 | AVX优化 | 10 | 9.32 ms |
优化方式 | 图像分辨率 | 速度 |
---|---|---|
C语言普通实现+单线程 | 4032*3024 | 290.43ms |
SSE优化+单线程 | 4032*3024 | 265.96ms |
优化方式 | 图像分辨率 | 速度 |
---|---|---|
C语言实现+单线程 | 4032*3024 | 66.66ms |
C语言实现+4线程 | 4032*3024 | 65.34ms |
SSE优化+单线程 | 4032*3024 | 66.10ms |
SSE优化+4线程 | 4032*3024 | 66.20ms |
优化方式 | 图像分辨率 | 半径 | 速度 |
---|---|---|---|
C语言实现+单线程 | 4272*2848 | 7 | 9445.90ms |
SSE优化+单线程 | 4272*2848 | 7 | 2234.55ms |
C语言实现+单线程 | 4272*2848 | 9 | 14468.76ms |
SSE优化+单线程 | 4272*2848 | 9 | 2221.68ms |
C语言实现+单线程 | 4272*2848 | 11 | 23069.10ms |
SSE优化+单线程 | 4272*2848 | 11 | 2180.95ms |
优化方式 | 图像分辨率 | 半径 | 速度 |
---|---|---|---|
C语言实现+单线程 | 4272*2848 | 11 | 163.16ms |
SSE优化+单线程 | 4272*2848 | 11 | 123.83ms |
C语言实现+单线程 | 4272*2848 | 21 | 167.81ms |
SSE优化+单线程 | 4272*2848 | 21 | 126.98ms |
C语言实现+单线程 | 4272*2848 | 31 | 168.62ms |
SSE优化+单线程 | 4272*2848 | 31 | 126.17ms |
优化方式 | 图像分辨率 | 半径 | 速度 |
---|---|---|---|
C语言实现+单线程 | 4272*2848 | 7 | 206.00ms |
SSE优化+单线程 | 4272*2848 | 7 | 57.12ms |
优化方式 | 图像分辨率 | 插值后大小 | 速度 |
---|---|---|---|
C语言原始算法实现 | 4272*2848 | 长宽均为原始1.5倍 | 1856.29ms |
C语言实现+查表优化+边界优化 | 4272*2848 | 长宽均为原始1.5倍 | 839.10ms |
SSE优化+边界优化 | 4272*2848 | 长宽均为原始1.5倍 | 315.70ms |
OpenCV3.1.0自带的函数 | 4272*2848 | 长宽均为原始1.5倍 | 118.77ms |