小编Jer*_*all的帖子

Sort --parallel 不是并行化

我正在尝试使用带有 sort -u 的 egrep 从文件中提取一组唯一的行,然后计算它们。大约 10% 的行(字母表 [ATCG] 中的所有 100 个字符)是重复的。有两个文件,每个文件大约 3 个演出,50% 不相关,所以可能有 3 亿行。

LC_ALL=C  grep -E  <files> |  sort --parallel=24  -u | wc -m
Run Code Online (Sandbox Code Playgroud)

在 LC_ALL=C 和使用 -x 加速 grep 之间,到目前为止最慢的部分是排序。阅读手册页让我找到了 --parallel=n,但实验显示绝对没有任何改进。对 top 的一点挖掘表明,即使使用 --parallel=24,排序过程一次也只能在一个处理器上运行。

我有 4 个具有 6 个内核和 2 个线程/内核的芯片,总共提供 48 个逻辑处理器。请参阅 lscpu,因为 /proc/cpuinfo 会太长。

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                48
On-line CPU(s) list:   0-47
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             4
NUMA node(s):          8 …
Run Code Online (Sandbox Code Playgroud)

linux cpu sorting parallel-processing

15
推荐指数
2
解决办法
7142
查看次数

标签 统计

cpu ×1

linux ×1

parallel-processing ×1

sorting ×1