当代码由-g和-O3 -march编译时,NFS fclose / fwrite的行为会有所不同

时间:2017-04-03 16:35:33

标签: c++ file

我的代码在NFS上执行以下代码

  1. fopen a file
  2. fwrite 16M bytes 16384次
  3. fclose the file
  4. 当用-g编译时,2)需要170s,3)需要125s

    -O3 -march编译时,2)需要100s,3)需要263s

    那个2)更快,-O3对我有意义,而我不知道为什么3)比-g慢。 -O3的总时间(363s)慢于-g(295s)。

    我通过以下代码测量时间

     std::chrono::time_point<std::chrono::system_clock> start, end;
     std::chrono::duration<double> elapsed_seconds;
     start = std::chrono::system_clock::now();
     // do some thing
     end = std::chrono::system_clock::now();
     elapsed_seconds = end-start;
     std::cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
    

0 个答案:

没有答案