小编r0g*_*r0g的帖子

GNU sort --compress-program 只压缩第一个临时文件

我正在对大文件(>100Go)进行排序,并且为了减少在磁盘写入上花费的时间,我正在尝试使用 GNU sort 的--compress-program参数。(相关:如何对大文件进行排序?

但是,在某些情况下似乎只有第一个临时文件被压缩。我想知道为什么,以及我可以做些什么来压缩所有临时文件。

我在用:

  • sort (GNU coreutils) 8.25
  • lzop 1.03 / LZO library 2.09

重现问题的步骤:

你需要一些东西,比如 ~15Go 空闲空间,~10Go ram,一段时间

首先,使用以下 C 代码创建一个 10Go 文件:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    unsigned long n;
    unsigned char i;
    srand(42);
    for(n = 0; n < 1000000000; n++) {
        for(i = 0; i < 3; i++) {
            printf("%03d", rand() % 1000);
        }
        printf("\n");
    }
    fflush(stdout);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

并运行它:

$ gcc -Wall -O3 -o generate generate.c
$ …
Run Code Online (Sandbox Code Playgroud)

compression gnu sort

3
推荐指数
1
解决办法
1135
查看次数

标签 统计

compression ×1

gnu ×1

sort ×1