我们有一个python程序,它读取大约120000个XML文件,解析它们(使用ElementTree),提取标记值(fromstring().findall())等等,这需要花费大量的时间。我们考虑用线程并行化程序。但是top显示这个单个进程的CPU消耗大约为100%。所以,我的问题是线程真的有帮助吗。我的直觉是,线程只有在剩余的CPU时才有帮助。在
我的系统配置是-pavan8085@Xeek:/media/pavan8085/Projects/Pavan/CompBio$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 69
Stepping: 1
CPU MHz: 782.000
BogoMIPS: 3392.44
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
PS:我对Python完全陌生。因此,可能有一些特定于语言的技巧可以帮助提高速度。如果有问题,我很乐意提供更多信息。在