给定文件中的每一行生成阴影时的性能问题

时间:2019-01-25 04:58:51

标签: performance aix sha

我正在尝试为每一行中的特定列生成sha256哈希。我尝试使用该小组其他成员提供的解决方案生成sha256hash。感谢Ravinder Singh。除了实际的sha命令之外,我使用了完全相同的代码。对于AIX,它是shasum -a 256。

代码:

#include <iostream>    
using namespace std;

int main()
{
    float f, a, b;
    int x, y, c;

    cout << "enter the float value" << endl; cin >> f;

    x = (int)f;  cout << "before " << x;

    a = b = f;
    c = 1;

    while (b != int(a))
    {
        b = b * 10;
        a = a * 10;
        c = c * 10;
    }

    y = (f * c) - (x * c);
    cout << "after " << y;
}

这很好用。唯一的问题是这段代码的性能非常慢。目前需要花费一分钟来记录1000条记录。我需要一次性生成大量哈希,以用于超过1000万条记录。无论如何,性能可以提高吗?

我尝试使用Lorinczy Zsigmond建议的perl。现在,我可以在10秒内处理一百万行。

代码:

awk -F"|" -v var="10" '
    NR==1;
    NR>1{
        "echo "$2"|shasum -a 256" | getline shaoutput;
        split(shaoutput, sha, " ");
        print $1, $2, sha[1]
    }' OFS="|" inputfile.dat >outputfile.dat

0 个答案:

没有答案