让你的软件飞起来
让你的软件飞起来
仅以此文献给那些在我的设计工作中
所有给我提供过帮助的人
----
----
捷报频传
捷报频传
conquer_2007@163.com
conquer_2007@163.com
2005.1.13
速度取决于算法
速度取决于算法
同样的事情,方法不一样,效果
同样的事情,方法不一样,效果
也不一样。比如,汽车引擎,可
也不一样。比如,汽车引擎,可
以让你的速度超越马车,却无法
以让你的速度超越马车,却无法
超越音速;涡轮引擎,可以轻松
超越音速;涡轮引擎,可以轻松
超越音障,却无法飞出地球;如
超越音障,却无法飞出地球;如
果有火箭发动机,就可以到达火
果有火箭发动机,就可以到达火
星。
星。
代码的运算速度取决于以下几个方面
代码的运算速度取决于以下几个方面
算法本身的复杂度,比如
算法本身的复杂度,比如
MPEG
MPEG
比
比
JPEG
JPEG
复杂,
复杂,
JPEG
JPEG
比
比
BMP
BMP
图片的编码
图片的编码
复杂。
复杂。
CPU
CPU
自身的速度和设计架构
自身的速度和设计架构
CPU
CPU
的总线带宽
的总线带宽
您自己的代码的写法
您自己的代码的写法
本文主要介绍如何优化您自己的
本文主要介绍如何优化您自己的
code
code
,实现软件的
,实现软件的
加速
加速
先看看我的需求
先看看我的需求
我们一个图象模式识别的项目,需要将RGB格式的彩色图像先转换成黑
白图像。
图像转换的公式如下:
Y = 0.299 * R + 0.587 * G + 0.114 * B;
图像尺寸640*480*24bit,RGB图像已经按照RGBRGB顺序排列的格
式,放在内存里面了。
例如,将这个喷火的战斗机引擎,转换为右边的黑白图片
我已经悄悄的完成了第一个优化
我已经悄悄的完成了第一个优化
以下是输入和输出的定义:
#define XSIZE 640
#define YSIZE 480
#define IMGSIZE XSIZE*YSIZE
Typedef struct RGB
{
unsigned char R;
unsigned char G;
unsigned char B;
}RGB;
struct RGB in[IMGSIZE] //需要计算的原始数据
Unsigned char out[IMGSIZE] //计算后的结果
看得出来优化在
哪里吗?
评论0