7za এ বহুবিধ সমর্থন


18

(আমি এটি সার্ভারফল্টে প্রথম পোস্ট করেছি, তবে আমি বুঝতে পেরেছিলাম এটি সম্ভবত এটি এখানে belongs

আমি 7za (p7zip) 9.20 ব্যবহার করে খুব বড় একটি টেক্সট ফাইল সংক্ষেপণের চেষ্টা করছি। এমএমটি বিকল্পের কোনও প্রভাব আছে বলে মনে হয় না। আমি উভয়-এমএমটি = অন এবং এমএমটি = 2 চেষ্টা করেছি। এটি একটি 8-কোর মেশিন। একজন ব্যক্তি আর্গুমেন্ট হিসাবে -m0 = lzma2 যোগ করার পরামর্শ দিয়েছিলেন, তবে এটি আমাকে কেবল ইপিওভিয়াল্ডারগ দেয়। কেউ কীভাবে এই কাজটি করতে জানেন?

এর কোনও প্রভাব নেই:

7za a -mx=9 -mmt=2 -p myarchive.zip bigfile.txt

এবং এটি একটি ত্রুটির সাথে ব্যর্থ হয়:

7za a -m0=lzma2 -mx=9 -mmt=2 -p myarchive.zip bigfile.txt


7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Scanning

Creating archive release_20120601-1-http.zip



System error:
E_INVALIDARG

আমি বিশ্বাস করি বিকল্পটি সহজভাবে -mmt, না -mmt=2। এছাড়াও আমি বিশ্বাস করি যে সঠিক বাক্য -mx9গঠনটি উভয়ই কার্যকর হতে পারে।
ব্রেকথ্রু

ধন্যবাদ, তবে -এমটি কোনও বিকল্প ছাড়াই এখনও কেবল একটি থ্রেড ব্যবহার করে। Docs.bugaco.com/7zip/MANUAL/switches/method.htm#ZipM মাল্টিথ্রেড অনুসারে , আপনি ব্যবহার করতে থ্রেডের সংখ্যা উল্লেখ করতে পারেন, -mmt = N।
ব্রায়ান এল

আমি এখনও এলজেডএমএ / ডিফল্ট ব্যবহার করার পরামর্শ দিচ্ছি যদিও এটি কেবলমাত্র একক থ্রেডযুক্ত। আপনি যখন BZip2 এর সাথে বর্ধিত সংকোচনের গতি পেতে পারেন তবে সরল পাঠ্যকে সংকুচিত করার সময় এটি কম দক্ষ এবং একক থ্রেডযুক্ত রূপগুলি LZMA / Deflate সমতুল্যের চেয়ে ধীর।
ব্রেকথ্রু

@ ব্র্যাকথ্রু: আপনার লিঙ্কে প্রদর্শিত হিসাবে বিজেপ 2 সাধারণত ডিফল্টের চেয়ে আরও ভাল সংক্ষেপণ অর্জন করে। এটি এলডিজেএমএর থেকেও অনেক দ্রুত (সংকোচন করার সময়)।
ডেনিস

উত্তর:


25

মতে -m (সেট কম্প্রেশন পদ্ধতি) সুইচ # ZipMultiThread - 7zip ম্যানুয়াল & ডকুমেন্টেশন , mtডিফল্ট on, তাই সব সময়ে এটা উল্লেখ করার কোন প্রয়োজন নেই।

যাইহোক, ডিফল্ট অ্যালগরিদম 7zip এর বাস্তবায়ন মাল্টি-থ্রেডিং সমর্থন করে না!

যেমন আপনি ইতিমধ্যে আবিষ্কার করেছেন,

7za a archive.zip bigfile

শুধুমাত্র একটি কোর ব্যবহার করে।

তবে .zipফাইলগুলি প্রতিটি ফাইল পৃথকভাবে সংকুচিত করে। বেশ কয়েকটি ফাইল সংকুচিত করার সময়, মাল্টি-থ্রেডিং বিকল্পটি একবারে কোর প্রতি একটি ফাইল সঙ্কুচিত করে।

এটি চেষ্টা করুন এবং আপনি এটি দেখতে পাবেন

7za a archive.zip bigfile1 ... bigfileN

সমস্ত উপলব্ধ Nকোর ব্যবহার করবে ।

আপনি যদি একটি একক ফাইলের সংক্ষেপণ দ্রুত করতে চান তবে আপনার দুটি পছন্দ আছে:

  1. খণ্ডে বিভক্ত bigfile

  2. একটি আলাদা সংক্ষেপণ অ্যালগরিদম ব্যবহার করুন।

    উদাহরণস্বরূপ, BZip2 অ্যালগরিদম 7zip এর বাস্তবায়ন মাল্টি-থ্রেডিং সমর্থন করে।

    বাক্য গঠনটি হ'ল:

    7za a -mm=BZip2 archive.zip bigfile
    

এছাড়াও, ধারকটির জন্য LZM অ্যালগরিদম ব্যবহারের আপনার প্রয়াসের ফলে বাক্য গঠন ত্রুটি ঘটে .zip। এটা সম্ভব না.

.zipকনটিনিয়ারদের পক্ষে সম্ভাব্য অ্যালগরিদমগুলি হ'ল ডিফল্ট ()৪), বিজেপ 2 এবং কোনও সংকোচন নয়।

আপনি যদি এলজেডএম অ্যালগরিদম ব্যবহার করতে চান তবে একটি .7zধারক ব্যবহার করুন । এই ধারকটি নিম্নলিখিত অ্যালগরিদমগুলিও পরিচালনা করে: পিপিএমডি, বিজেপ 2, ডিফল্ট, বিসিজে, বিসিজে 2 এবং কোনও সংকোচন নয়।


@ ডেনিস আমি ভেবেছিলাম যে ওপি এলজেডএমএ (2) ব্যবহার করছে, যা ডকুমেন্টেশন থেকে, "এলজেডএমএ সংক্ষেপণ কেবল 2 টি থ্রেড ব্যবহার করে।" যদিও আমি সম্মত, স্বজ্ঞাতভাবে ( লেম্পেল-জিভ এনকোডিংয়ের যে কারণে কাজ করেছে), মাল্টিথ্রিড এলজেডএমএ বা ডিফলেট (যা হাফম্যান এনকোডিংয়ের সাথে কেবল এলজেডএমএ) খুব কঠিন হবে।
ব্রেকথ্রু

1
@ ব্র্যাকথ্রু: প্রথমদিকে, আমিও তাই করেছিলাম ((আমার উত্তরের সংশোধনগুলি দেখুন।) সিনট্যাক্স ত্রুটিটি এটাই ছিল। আপনি একটি .zipধারক দিয়ে LZMA সংক্ষেপণ ব্যবহার করতে পারবেন না ।
ডেনিস

@ ডেনিস আহ, এটি পরিষ্কার করার জন্য আপনাকে ধন্যবাদ দেখেনি যে ওপি একটি .ZIPধারক ব্যবহার করছে ।
ব্রেকথ্রু

অপেক্ষা করুন, আমি কেবল ধারকটির ফাইল এক্সটেনশানটিকে .7z এ পরিবর্তন করতে পারলে আমি একটি আলাদা ফলাফল পাব?
ব্রায়ান এল

3
@ ব্রায়ানএল একটি "ধন্যবাদ" বোতামটি অন্তর্নির্মিত আছে up এটি উপরের দিকে মুখ করে একটি তীরের মতো মনে হচ্ছে;)
অগ্নিকুণ্ডে

5

এটি একটি পুরানো প্রশ্ন, এবং নির্দিষ্ট প্রশ্নের উত্তর নয়, তবে প্রশ্নের মনোভাবের উত্তর (একটি জিপ ফর্ম্যাটটি সংক্ষিপ্ত করতে সমস্ত কোর ব্যবহার করে)

পিগজ (.zip বিকল্পের সাথে সমান্তরাল জিজিপ)

pigz -K -k archive.zip bigfile txt

এটি আপনাকে একই সংকোচনের স্তরের জন্য দ্রুত একটি জিপ সামঞ্জস্যপূর্ণ ফাইল 7x দেবে।

একক এবং একাধিক কোর ব্যবহার করে জিপ সামঞ্জস্যপূর্ণ এবং নন-জিপ সংক্ষেপকগুলির একটি দ্রুত তুলনা।

ফেডোরা 20-তে 1.0gb txt ফাইলটি সঙ্কলনের জন্য প্রাচীরের সময়গুলি i7-2600k এ

67s (120mb) 7za (zip,1 thread)
15s (141mb) 7za -mx=4 (zip,1 thread)
17s (132mb) zip (zip,1 thread)
 5s (131mb) pigz -K -k (zip,8 threads)
 9s (106mb) bsc (libbsc.com) (not zip,8 threads)
 5s (130mb) zhuff -c2 (not zip,8 threads)
 2s (149mb) zhuff (not zip,8 threads)

প্রাচীর সময়গুলি সঙ্কুচিত করা

4.2s unzip -t
2.0s pigz -t
5.1s bsc d
0.5s zhuff -d

পিগজিপ 2 বা পিক্স্জ করতে পারলে কেন পিগজ?
নড়া

জিজিপ bzip2 এর চেয়ে অনেক বেশি দ্রুত, তাই অতিরিক্ত সংকোচনের পক্ষে সর্বদা এটির পক্ষে উপযুক্ত নয়।
jesjimher

0

সবেমাত্র এমএমটি ব্যবহার করুন [এন + 1]

উদাহরণস্বরূপ: -mmt2 একটি থ্রেডের জন্য, -mmt9 আটটি থ্রেডের জন্য


-1

যাচাই এবং পরীক্ষা করা হয়েছে: 7za তে মাল্টিথ্রেডিং ব্যবহার করতে প্যারামিটারটি অবশ্যই "-mmt #" নয় "-mmt = #" হওয়া উচিত, সমান চিহ্নটি রাখলে তা উপেক্ষা করা যায়।

আমি কীভাবে আবিষ্কার করেছি? আমি কোনও প্যারামিটার ছাড়াই 7z চালানোর পরে এটি প্যারামিটারগুলির তথ্য প্রদর্শন করে, সুইচগুলিতে এটি "-mmt [N]" বলে, "-mmt = [N]" বলে

সুতরাং আমি যদি ভালভাবে বুঝতে পারি তবে আপনি "-mmt = 2" টাইপ করছেন এমন প্যারামিটারটি মিসরাইটিং হতে পারে এবং সমান চিহ্ন ছাড়া "-mmt2" হতে পারে।

আমি ভাল বুঝতে পারছি কিনা তা নিশ্চিত নই, আমার ইংরেজিটি খুব খারাপ।

যাইহোক, আপনি কেন কেবল "7z" এর পরিবর্তে "7za" ব্যবহার করেন?

সুতরাং পরামিতিটি পরীক্ষা করতে আমি বেঞ্চমার্কগুলি করতে কমান্ডের একটি সেট চালনা করি এবং এটি কোনও ডকুমেন্টেশনে টাইপোর ত্রুটি নিশ্চিত করে। সঠিক পরামিতিটি সমান চিহ্ন ছাড়াই টাইপ করতে হবে।

শুধুমাত্র একটি থ্রেড সহ 7z সহ একটি বেঞ্চমার্ক করার আদেশ: 7z বি-মিমিটি 1 1

মাত্র দুটি থ্রেড সহ 7z সহ একটি বেঞ্চমার্ক করার আদেশ: 7z বি-এমএমটি 2

মাত্র দুটি থ্রেড সহ 7za সহ একটি বেঞ্চমার্ক করার কমান্ড: 7za বি-এমএমটি 2

মাত্র একটি থ্রেড সহ 7za সহ একটি বেঞ্চমার্ক করার আদেশ: 7za বি-এমএমটি 1

Z-mmt # the প্যারামিটারে কোনও সমান চিহ্ন নেই, 7z বা 7za নয় neither

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.