Rich Freeman on 7 Apr 2011 05:33:08 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] gnu parallel and tar |
I figured I'd see what I get on my system (a recent Phenom II X4). All operations are on a tmpfs (quite a bit of free ram here right now). On Mon, Apr 4, 2011 at 4:21 PM, Julien Vehent <julien@linuxwall.info> wrote: >>> Initial file: ls -s access_log --block-size=1 481239040 access_log >>> === with bzip2 ==== time bzip2 -z -9 access_log real 3m1.397s user 3m1.124s sys 0m0.187s ls -s access_log.bz2 --block-size=1 15572992 access_log.bz2 >>> === with lbzip2 ==== time lbzip2 -n 4 -z -9 -S access_log lbzip2: "access_log": condvar counters: lbzip2: any worker tried to consume from splitter: 547 lbzip2: any worker stalled : 9 lbzip2: muxer tried to consume from workers : 869 lbzip2: muxer stalled : 434 lbzip2: splitter tried to consume from muxer : 953 lbzip2: splitter stalled : 419 lbzip2: fchown("access_log.bz2"): Operation not permitted lbzip2: unlink("access_log"): Operation not permitted real 0m49.680s user 3m16.039s sys 0m0.723s Wow... Not sure what CPU you were running - the Phenom II has a fair bit of cache which probably is helping. Also, I'm running off of tmpfs so maybe IO is slowing you down. Looking at atop the lbzip2 process was almost always over 390% CPU, and often was at 399%. ls -s access_log.bz2 --block-size=1 15638528 access_log.bz2 And with two cores: time lbzip2 -n 2 -z -9 access_log lbzip2: fchown("access_log.bz2"): Operation not permitted lbzip2: unlink("access_log"): Operation not permitted real 1m33.072s user 3m5.242s sys 0m1.323s I'd be really curious how much of your problem was IO. I tried it again on a real drive, but again I have lots of RAM so cache is going to have a big impact here (for reads, and to a big extent writes as well since we're not far over the 30 second commit inverval): time lbzip2 -n 4 -z -9 -S access_log lbzip2: "access_log": condvar counters: lbzip2: any worker tried to consume from splitter: 548 lbzip2: any worker stalled : 10 lbzip2: muxer tried to consume from workers : 898 lbzip2: muxer stalled : 448 lbzip2: splitter tried to consume from muxer : 970 lbzip2: splitter stalled : 436 real 0m47.912s user 3m10.099s sys 0m0.560s time lbzip2 -n 2 -z -9 -S access_log lbzip2: "access_log": condvar counters: lbzip2: any worker tried to consume from splitter: 539 lbzip2: any worker stalled : 3 lbzip2: muxer tried to consume from workers : 1007 lbzip2: muxer stalled : 503 lbzip2: splitter tried to consume from muxer : 1028 lbzip2: splitter stalled : 494 real 1m32.018s user 3m2.492s sys 0m1.845s Hmm, results look almost the same (strangely enough a hair faster!). I suspect that you were either IO bound, or that maybe you have a CPU that has a pretty small cache. Rich ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug