码迷,mamicode.com
首页 > 其他好文 > 详细

往期技术文章勘误

时间:2018-06-30 21:23:35      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:组成   signed   content   跟踪   i+1   get   +=   细节   成长   

技术分享图片

 

最近在整理一个材料,借用了我在往期推送的一些技术文章中的内容。回头看文章中的细节,发现还是存在一些当时理解不充分,或者是笔误的地方。由于微信推送出去的文章已经不便于更改(除非重新推送),因此就特起一篇勘误文章,把目前发现的错误订正下,希望没有给大家带来困扰。

 

《TI C6000优化手册——让代码看起来像钉子》

错误位置:描述“restrict”关键字的部分。

原文:“restrict”关键字也不能随便乱加,我们需要了解C6000的片上内存组成,只有当两个指针所指的内存在不同的block里时,restrict才是合法的。

解析:正如“restrict”的作用所言,用它声明过的指针变量,能够保证不会同其它指针变量指向同一个数据体。这与指针指向的数据体是否在同一个block存储区无关,也不需要考虑具体的片上内存组成形式。比如:

short *restrict a; 

short *b;

short x[100];

short y[100];

 

这里可以确认程序不会出现a=x;b=x;的情况。而a=x;b=y是合法的,即使数组x和y在同一个block中对齐到了同一个bank。

勘误:删除该句。

 

《现代处理器与代码性能优化》

错误位置:代码片段3 

原文:

void array_sum(short *a, short *sum, length)

{

     unsigned int i;

     short sum_temp1 = 0;

     short sum_temp2 = 0;

     for(i=0; i<length-1 ; i+=2)

     {

          sum_temp1 = sum_temp1   + a[i];

          sum_temp2 = sum_temp2   + a[i+1];

     }

     for(; i<length; i++)

     {

          sum_temp1 = sum_temp1   + a[i];

     }

     *sum = sum_temp1 + sum_temp1;

}

 

解析:最后一条语句中的一个sum_temp1应更改为sum_temp2。

勘误:

void array_sum(short *a, short *sum, length)

{

     unsigned int i;

     short sum_temp1 = 0;

     short sum_temp2 = 0;

     for(i=0; i<length-1 ; i+=2)

     {

          sum_temp1 = sum_temp1   + a[i];

          sum_temp2 = sum_temp2   + a[i+1];

     }

     for(; i<length; i++)

     {

          sum_temp1 = sum_temp1   + a[i];

     }

     *sum = sum_temp1 + sum_temp2;

}

 


错误位置:4.1节 确认性能瓶颈,其中讲到Amdahl定律可以用公式表达为: Told/Tnew = 1/[(1-a) + a/b]。

原文:设原程序执行时间为Told,其某部分代码所需执行时间占该时间的比例为a,而该部分性能提升的比例为b。

解析:最后一小句中b表示为待优化部分代码性能提升的比例有误,很容易会发现这里公式推导不通,b正确的含义是待优化部分代码性能提升的倍数。

勘误:设原程序执行时间为Told,其某部分代码所需执行时间占该时间的比例为a,而该部分性能提升的倍数为b。

 

 

 

·END·

 

想进一步跟踪本博客动态,欢迎关注我的个人微信订阅号:信号君

 

信号君:寻求简单之道

技术成长 | 读书笔记 | 认知升级

技术分享图片

扫描二维码关注信号君

  

 

往期技术文章勘误

标签:组成   signed   content   跟踪   i+1   get   +=   细节   成长   

原文地址:https://www.cnblogs.com/ncdxlxk/p/9248629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!