程式语言效率分析(2)
点击次数:55 次 发布日期:2008-11-10 08:14:41 作者:源代码网
|
源代码网推荐 源代码网推荐 C近来极受美国各系统公司的推崇,我们特以之与组合语言作个比较,但不幸的是在指令的精简上,就显得力不从心,不像组合语言那样可以斤斤计较。 源代码网推荐 因此,我们祇能就点阵移位、查小表及查总表的方式,测试其效率。首先,利用查大表的方式如下: 源代码网推荐 源代码网推荐 1: main() 源代码网推荐 2: { 源代码网推荐 3: unsigned char s[24][3]; 源代码网推荐 4: unsigned short tab[256], d[48][3], count; 源代码网推荐 5: register short i,j,k; 源代码网推荐 6: 源代码网推荐 7: for (count = 0; count < 10000; count ) 源代码网推荐 8: { 源代码网推荐 9: k = 0; 软件开发网 www.mscto.com 源代码网推荐 10: for (i = 0; i < 24; i ) 源代码网推荐 11: { 源代码网推荐 12: for (j = 0; j < 3; j ) 源代码网推荐 13: d[k][j] = d[k 1][j] = tab[s[i][j]]; 源代码网推荐 14: k = 2; 源代码网推荐 15: } 源代码网推荐 16: } 源代码网推荐 17: } 源代码网推荐 源代码网推荐 程式制作时间10分钟,较组合语言稍快;占用空间4575字元,则大了三倍,至于执行速度为18秒,慢了七倍之多。 源代码网推荐 再换个方法,试一试查小表如次: 源代码网推荐 1: main() 源代码网推荐 2: { 源代码网推荐 3: unsigned char i,j, s[24][3], d[48][6], tab[16]; 源代码网推荐 4: unsigned short count; 源代码网推荐 5: register short k, l, x; 源代码网推荐 6: 源代码网推荐 7: for (count = 0; count < 10000; count ) 源代码网推荐 8: { 源代码网推荐 9: k = 0; 源代码网推荐 10: for (i = 0; i < 24; i ) 源代码网推荐 11: { 源代码网推荐 12: l = 0; 源代码网推荐 13 for (j = 0; j < 3; j ) 源代码网推荐 14: { 源代码网推荐 15: x = s[i][j]; 源代码网推荐 16: d[k][l] = d[k 1][l] = tab[x & 0360 >> 4]; 源代码网推荐 17: d[k][l 1] = d[k 1][l 1] = tab[x & 017]; 源代码网推荐 源代码网供稿. |
