継続的なデータ ストリーム (非常に大きい) をバイナリ ファイルに保存しようとしています。データストリームはで生成されます
find . -name "(pattern)" | xargs -L1 awk '{(smth)}' | ./translater
「トランスレータ」は、2 番目のパイプからのデータ フローを復活させるためのCコードです。
#include <stdio.h>
#include <stdlib.h>
int main() {
float buffer;
FILE *stream;
stream = fopen("output.bin", "wb");
while (scanf("%f", &buffer)==1) {
fwrite(&buffer, 1, sizeof(float), stream);
}
fclose(stream);
return (0);
}
これらの組み合わせはうまく機能しますが、2GB のバイナリ ファイルを生成するには時間がかかりすぎます (>3 時間)。ターボ化するために改善できることはありますか?