मुझे lbzip2 या pbzip2 पर क्या भरोसा करना चाहिए?


10

जैसा कि bzip2 सर्वश्रेष्ठ (आकार में) संपीड़ित करने का दावा करता है, मैंने इसका उपयोग करने का निर्णय लिया। कार्यशील सर्वर 24 (वर्चुअल) CPU (4 वास्तविक X5650 @ 2.67GHz) की पेशकश कर सकता है - और इस तरह मैंने समानांतर वेरिएंट की तलाश करने का फैसला किया।
का उपयोग करते हुए debian stable- क्षमा करें, लेकिन मुझे यहां सबसे अच्छे मैच पूछे गए हैं आस्कुबंटू में - मैंने pbzip2और करीब से देखने का फैसला किया lbzip2
लेकिन क्या चयन करना है? वास्तविक स्थिर pbzip2संस्करण में 1.1.1-1और lbzip2संस्करण में है 0.23-1। हो सकता है कि यह कॉस्मैटिक रूप से हो pbzip2- लेकिन lbzip2यह कहता है कि यह तेजी से सिंगल-कोर कंप्यूटर पर भी है। दूसरी ओर pbzip2पूरी तरह से संगत होने का दावा करता है bzip2 v1.0.2
इसके अतिरिक्त मेरे पास एक बड़े स्थानीय नौकरी के कुछ समय-मूल्य हैं:
उपयोग करनाlbzip2

Command being timed: "tar -cjf /tmp/mapleTAsicherung.lbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
    User time (seconds): 2134.32
    System time (seconds): 39.24
    Percent of CPU this job got: 2099%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 1:43.51
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 1509088
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1054467
    Voluntary context switches: 153901
    Involuntary context switches: 235285
    Swaps: 0
    File system inputs: 0
    File system outputs: 3460632
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0  

का उपयोग करते हुए pbzip2

    Command being timed: "tar -cjf /tmp/mapleTAsicherung.pbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
    User time (seconds): 3158.18
    System time (seconds): 59.80
    Percent of CPU this job got: 2095%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 2:33.56
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 1436320
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 477683
    Voluntary context switches: 151326
    Involuntary context switches: 339246
    Swaps: 0
    File system inputs: 0
    File system outputs: 3460536
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

किसी को क्या उपयोग करना चाहिए? प्रमुख अंतर क्या हैं? फिलहाल मेरा झुकाव है lbzip2


1
त्वरित नोट: नियमित bzip2 के साथ संपीड़ित फ़ाइलें pbzip2 के साथ विघटित होने पर प्रदर्शन को बढ़ावा नहीं देगी। हालांकि pbzip2 एक पीछे की ओर संगत अभिलेखागार - वे या तो एक-पिरोया या एक समानांतर उपयोगिता के साथ विघटित हो सकते हैं।
STW

जवाबों:


11

यहां एक मूल विचार है कि उनका मूल्यांकन कैसे किया जाए।

आमतौर पर आप जिस तरह के साथ काम करते हैं, उसका एक बड़ा तारक लीजिए। इसे bzip2, pbzip2, lbzip2 के साथ कंप्रेस करें। (दीवार घड़ी) समय को मापें और विभिन्न फाइलों में सभी आउटपुट को बचाएं। यह आपको तीन बार और तीन फ़ाइल आकार देगा।

फिर सभी तीन आउटपुट फाइलों (यानी। bzip2, pbzip2, lbzip2) के संपीड़न आउटपुट, और तीनों उपयोगिताओं (bzip2, pbzip2, और lbzip2) के साथ प्रत्येक को डिकम्प्रेस करें। यह आपको नौ बार आगे देगा।

कुछ प्रोफाइलरों के तहत बारह परीक्षणों को फिर से चलाएं और प्रत्येक के लिए एक पीक मेमोरी उपयोग (वर्चुअल और आरएसएस) प्राप्त करें। फिर, यह 12 मान देगा। (यदि आपका लिनक्स बिना किसी ओवरकॉमिट के कॉन्फ़िगर किया गया है, तो आप वीएसजेड में रुचि रखते हैं। अन्यथा आप आरएसएस के बारे में परवाह करते हैं)।

इन डेटा बिंदुओं के लिए 12 पंक्तियों के साथ एक तालिका बनाएं - col1: 3 संपीड़ित आकार, col2: 3 संपीड़न समय / 9 अपघटन समय, col3: 12 शिखर मेम - और चुनें कि आपको सबसे अच्छा क्या सूट करता है। आपको इस बात पर ध्यान देना चाहिए कि आप कितनी बार बनाम कितनी बार संपीडित होते हैं।

मैं lbzip2-0.23 का उपयोग करता हूं, लेकिन मैंने इसे लिखा था, इसलिए यह गिनती नहीं करता है।

अंत में, कोई फर्क नहीं पड़ता कि कौन सा आपके लिए सबसे अच्छा साबित होता है, हमेशा असम्पीडित टारबॉल के एक चेकसम को बचाएं , साथ ही बैकअप "किया" घोषित करने से पहले अपनी सहेजी गई फ़ाइल को सत्यापित करें।

FILES=...
OUTDIR=/mnt/archive
BZ2_UTIL=...

(
  tar -c -- $FILES \
  | tee >(sha256sum >"$OUTDIR"/myfiles.tar.sha256) \
  | pv -c -N plain 2>/dev/tty \
  | "$BZ2_UTIL" \
  | pv -c -N compr 2>/dev/tty \
  > "$OUTDIR"/myfiles.tar.bz2
) 2>"$OUTDIR"/myfiles.err

"$BZ2_UTIL" -dc -- "$OUTDIR"/myfiles.tar.bz2 \
| sha256sum -c -- "$OUTDIR"/myfiles.tar.sha256

4

मैंने bzip2 बनाम pbzip2 और lbzip2 के लिए कुछ तुलना के मानक http://vbtechsupport.com/1614/ पर lzip और plzip के साथ किए । जब तक आपके पास पर्याप्त मेमोरी है, मैं lbzip2 के लिए स्पीड इंप्रूवमेंट पसंद कर रहा हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.