代码比较 - 哪个在运行时更好?

时间:2017-06-17 08:01:48

标签: performance turbo-c++

代码1

while(fin.eof()==false) {
    fin.read((char*)& Object_2, sizeof(Object_2)); //Reads a record for printing
    class_object.display();

    fin.read((char*)& Object_2, sizeof(Object_2)); //Reads the next record space for eof detection
    if(fin.eof() == true)
        break;  //Break out of the loop on encountering eof
    else
        fin.seekg(-signed(sizeof(Object_1)), ios :: cur);  //File Pointer Correction
}

CODE 2

while(fin.eof()==false) {
    fin.read((char*)& Object_2, sizeof(Object_2)); //Reads a record for printing
    if(fin.eof() == true)
          break;
    else
          class_object.display();

哪个在运行时更好? CODE1不允许在while循环中执行不必要的循环步骤。另一方面,当最后一次执行while循环时,CODE2就会中断(不必要的循环步骤)。

P.S.-我明白,节省循环的最后一步几乎不会对运行时产生任何影响,但我只是好奇哪一个更好。

注意:因为我的学校,我使用TurboC ++。

1 个答案:

答案 0 :(得分:1)

你的探查者会告诉你什么?

在现代操作系统上,更快的解决方案(由于开销最小)将在内存中映射文件,从而完全避免读取/搜索调用。