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

感性理解编译优化

时间:2020-07-22 16:21:18      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:ubunt   lazy   lang   class   time   return   include   理解   ast   

很多人说O2很快,真的吗?

话不多说,先贴图:
环境:
技术图片
WSL Ubuntu 18.04LTS

sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ g++ file.cpp -o file.out
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ vi ./file.cpp
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ time ./file.out

real    0m0.063s
user    0m0.047s
sys     0m0.016s
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ g++ file.cpp -o file.out -O2
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ time ./file.out

real    0m0.013s
user    0m0.000s
sys     0m0.000s
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ g++ file.cpp -o file.out -O3
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ time ./file.out

real    0m0.016s
user    0m0.016s
sys     0m0.000s
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ g++ file.cpp -o file.out -Ofast
sweepy@DESKTOP-M79ULPC:/mnt/c/Users/zljzl/desktop$ time ./file.out

real    0m0.012s
user    0m0.000s
sys     0m0.016s

源代码是这样的(计算1~10000000的平方和)
技术图片

#include<iostream>
using namespace std;
int main(){
    int ans=0;
 for(int i=0;i<10000000;i++){
     ans+=i*i;
 }
 return 0;
}

总而言之,\(O(fast)\)真的很快

感性理解编译优化

标签:ubunt   lazy   lang   class   time   return   include   理解   ast   

原文地址:https://www.cnblogs.com/sweepy/p/13360615.html

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