您的位置:首页 > 编程语言 > C语言/C++

C++程序内联后的性能

2014-09-21 16:07 30 查看
在网上搜了关于内联函数的知识, 发现其适用性如下:

   1.一个函数被重复调用;

   2.函数只有几行,且不包含for,while,switch语句

对于我自己的程序来讲, 处理200M的数据文件,下面两个子函数不内联时程序执行时间在4m30~5m左右;

而声明为内联后,  程序执行时间只要3m14s左右。

按我的理解应该是因为我这两个子函数的循环太短,  所以整体上还是节约了相当的时间

它体内的循环可以当做是“非循环”来对待。

如有有幸能有前辈看到此博文, 还望多多指点, 不胜感激。

 

inline  int check_kmer(string kmer){  //kmer的长度在32以内

   for(int i = kmer_size-1; i>=0; i--)

       if(kmer[i] == 'N')

           return i;

   return -1;

}

inline  string GetSubname(string str, char ch){  //str的长度在100以内
   string str_temp("");

   for(int i = 0; i<str.size(); i++){

        if(str[i] != ch)

          str_temp[i] = str[i];

        else

          return str_temp;

   }

   return "";

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 性能 内联