相关疑难解决方法(0)

如何在读取分隔文本文件时提高C++程序的速度?

我向您展示执行相同作业的C#和C++代码:读取由"|"分隔的相同文本文件,并使用"#"分隔文本保存.

当我执行C++程序时,经过的时间是169秒.

更新1:由于Seth(汇编为:cl/EHsc/Ox/Ob2/Oi)和GWW用于改变循环外字符串s的位置,经过的时间减少到53秒.我也更新了代码.

更新2:你有任何其他建议来加强C++代码吗?

当我执行C#程序时,经过的时间是34秒!

问题是,与C#相比,如何提高C++的速度?

C++程序:

int main ()
{
    Timer t;
    cout << t.ShowStart() << endl;

    ifstream input("in.txt");
    ofstream output("out.txt", ios::out);
    char const row_delim = '\n';
    char const field_delim = '|';
    string s1, s2;

    while (input)
    {
        if (!getline( input, s1, row_delim ))
            break;
        istringstream iss(s1);
        while (iss)
        {
            if (!getline(iss, s2, field_delim ))
                break;
            output << s2 << "#";
        }
        output << "\n";
    }

    t.Stop();
    cout << t.ShowEnd() << endl;
    cout << "Executed in: " << t.ElapsedSeconds() …
Run Code Online (Sandbox Code Playgroud)

c++ c#-4.0

2
推荐指数
1
解决办法
634
查看次数

标签 统计

c#-4.0 ×1

c++ ×1