用多核 CPU 来加速文本运算 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Livid
193.59D
603.4D
V2EX    Linux

用多核 CPU 来加速文本运算

  •  
  •   Livid
    PRO
    2013-10-30 09:02:38 +08:00 via iPhone 4799 次点击
    这是一个创建于 4438 天前的主题,其中的信息可能已经有所发展或是发生改变。
    18 条回复    1970-01-01 08:00:00 +08:00
    luikore
        1
    luikore  
       2013-10-30 09:24:41 +08:00   5
    文章展示了 cat 命令的一个常见误用: 没有多个文件却用 cat 连接.
    结果是多产生了一个进程和一个管道.

    正确写法是:
    <some.txt other cmd ...

    像 wc -l 这类命令的瓶颈明显是硬盘, parallel 以后反而比单核的慢.
    Muninn
        2
    Muninn  
       2013-10-30 09:59:00 +08:00
    恩 压缩估计会好很多
    io类的命令,确实很难说
    felix021
        3
    felix021  
       2013-10-30 10:25:19 +08:00
    测试过wc和grep这种非IO密集型的应用,用了parallel以后反而慢了很多很多;bzip2的话性能可以提高好几倍
    oldcai
        4
    oldcai  
    PRO
       2013-10-30 11:49:04 +08:00
    @felix021 wc和grep就是IO密集型吧。bzip2之类的倒是CPU密集型。
    人生何处不相逢啊。。felix021君。。
    felix021
        5
    felix021  
       2013-10-30 11:53:21 +08:00
    @oldcai 嗯,我说反了。。。
    est
        6
    est  
       2013-10-30 14:06:03 +08:00
    @oldcai 一个反例:WinRAR的解压,IO write是瓶颈。
    oldcai
        7
    oldcai  
    PRO
       2013-10-30 14:10:50 +08:00
    @est 嗯,还是得具体分析,针对一般机器和一般压缩算法而言,CPU更容易是瓶颈。
    bombless
        8
    bombless  
       2013-10-30 14:24:57 +08:00
    @luikore 哈哈,的确是。他这种看的很不舒服
    reusFork
        9
    reusFork  
       2013-10-30 15:28:39 +08:00
    确定这样压缩出来的文件还能解压么?
    --pipe
    --spreadstdin
    Spread input to jobs on stdin (standard input). Read a block of data from stdin (standard input) and give one block of data as input to one job.
    luikore
        10
    luikore  
       2013-10-30 17:15:27 +08:00
    @oldcai CPU比IO快多了, 而且多数CPU瓶颈的场景都是用GPU解决的, 3000个核做data parallel比寥寥几个核做task parallel效果好很多...
    guangwong
        11
    guangwong  
       2013-10-30 21:40:12 +08:00
    = = 说真的,单核分析不动了我就不用这些东西分析了,有更垂直的轮子。。。。。
    Ricepig
        12
    Ricepig  
       2013-10-31 02:24:12 +08:00
    @luikore 我以前也是这么想的,直到看到两篇文章。一篇是说gpu做一个算法有多牛逼。另一篇是intel写的,说是你用来比较的cpu上的代码太烂,爷给你写一个,秒杀GPU实现。
    luikore
        13
    luikore  
       2013-10-31 09:48:55 +08:00
    @Ricepig 链接? 估计那个问题不适合并行化或者不是computation bound的问题
    pythonee
        14
    pythonee  
       2013-10-31 16:24:11 +08:00
    @luikore 开头这个小于号是什么原理,这个叫什么?没有见过,望指教
    luikore
        15
    luikore  
       2013-10-31 17:25:36 +08:00
    @pythonee 以文件为命令的输入流, 放前面和放后面一样, 可以和 > 对比想想. man bash 能找到更详细的阐述
    luikore
        16
    luikore  
       2013-10-31 17:26:21 +08:00
    @pythonee bash 的手册里 Redirecting Input 那段
    pythonee
        17
    pythonee  
       2013-10-31 20:32:10 +08:00
    @luikore 这样写的可读性是不是有点差,个人觉得管道容易理解一些啊
    不知道input哪个怎么理解好理解一点
    luikore
        18
    luikore  
       2013-10-31 22:06:06 +08:00
    @pythonee 既然理解了重定向output stream, 为什么不理解重定向input stream...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3685 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 00:53 PVG 08:53 LAX 16:53 JFK 19:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86