কীভাবে দ্রুত 7-জিপ তৈরি করবেন


35

আমি সাধারণত 7-জিপের উপরে উইনআরআর ব্যবহার করি কারণ এটি দ্রুত এবং সংক্ষেপণের সাথে সামান্য কম দক্ষ। আমি বিভিন্ন ফাইলের ধরণ এবং মাপগুলিতে 7-জিপ এবং উইনআরআর ডিফল্ট সেটিংসগুলির তুলনায় তাদের সাধারণ সংক্ষেপণ এবং সর্বোত্তম সংকোচনের সাথে কয়েকটি পরীক্ষা করেছি এবং অনেক ক্ষেত্রে উইনআর 50% দ্রুত এবং কিছুতে এটি 100% দ্রুত ছিল faster তবে, আমি এফওএসএসের মতো আরও করি। সুতরাং এখানে আমার প্রশ্নগুলি:

  1. 7-জিপ স্পিড-আপ করার কোনও উপায় আছে কি? আমি এটি কমপক্ষে উইনআরআর এর গতির সাথে সমান হতে চাই
  2. উইনআরআর-এর মতো আপনার 7-জিপ-তে পুনরুদ্ধার বিভাগগুলি করার কোনও উপায় আছে কি? আমি কোনও দেখতে পাইনি তবে আমার ধারণা এটি কোনও কমান্ড লাইনের জিনিস হতে পারে।
  3. আমি উইনআরআর এবং 7-জিপ প্রতিটিটির সর্বশেষতম স্থিতিশীল সংস্করণ (7-জিপ সহ 4-ডট-কিছু) ব্যবহার করে পরীক্ষা করেছি। 9.x বিটা রিলিজটি সংক্ষেপণে লক্ষণীয়ভাবে দ্রুত?

আমি উইনআরআর-এর তুলনামূলক সেটিংয়ে দ্রুতগতির কথা বলছি, কেবল কম ন্যূনতম সংক্ষেপণকে কম করছি না।

যদি এটি গুরুত্বপূর্ণ হয় তবে আমি 4 জিবি ডিডিআর 3 র‌্যাম সহ কোয়াড কোর ইন্টেল আই 7 720 (1.6 গিগাহার্টজ) / (2.8 গিগাহার্টজ) এবং 7-জিপের 64-বিট সংস্করণ এবং ডুয়াল-বুট দেবিয়ান x64 5.0.4 এবং উইন্ডোজ 7 ব্যবহার করি হোম।


1
# 2 - 7-জিপ সম্পর্কিত বর্তমানে কোনও ধরণের "পুনরুদ্ধার রেকর্ড" বা "ইসিসি" ক্ষমতা নেই। আপনার তৃতীয় পক্ষের সফটওয়্যার যেমন কুইকপার / মাল্টিপার বা আইসিসি ইসিসি প্রয়োজন হবে তবে এটি সংরক্ষণাগারের অংশ নয়।
আফরাজায়

উত্তর:


36

যদি আপনি 7-জিপ 9.13 বিটা পান তবে আপনি সংরক্ষণাগার প্রকারটি LZMA2 এ পরিবর্তন করতে পারবেন এবং মেমরির ব্যবহারটি ঘটনাক্রমে বেড়ে গেলেও আপনি যতটা থ্রেড পছন্দ করতে পারবেন তেমন ব্যবহার করতে সক্ষম হবেন।

বিটা ইনস্টল করুন, আপনি সংরক্ষণাগার করতে চাইলে ডানদিকে ক্লিক করুন তারপরে 7-জিপ কনটেক্সট মেনুতে "সংরক্ষণাগারটিতে যুক্ত করুন ..." ক্লিক করুন এবং নীচের উইন্ডোর অনুরূপ কিছু পাবেন। কম্প্রেশন পদ্ধতির অধীনে বাম দিকে আপনি "এলজেডএমএ 2" সন্ধান করুন যা আপনাকে থ্রেডের সংখ্যা পরিবর্তন করতে দেয় যা কিছুটা নিচে বিকল্প হতে পারে।

এটি আপনার সিস্টেমের সাথে আরও ভাল সুর করা যেতে পারে এবং এটির জন্য দুটি সাধারণ প্রসেসরের উপর বিস্তৃত পারফরম্যান্সের সম্ভাবনা রয়েছে এবং সাধারণ সংক্ষেপণ পদ্ধতিটি কেবলমাত্র সর্বোচ্চ 2 টি থ্রেড পরিচালনা করতে পারে।

চিত্রটিতে থাকা থ্রেড নির্বাচনের বাক্সের ডানদিকে আপনি যে "/ 1" দেখতে পান তা হ'ল আপনার সিস্টেমে প্রসেসরের সংখ্যা এবং এইভাবে থ্রেডগুলির প্রস্তাবিত সংখ্যা। আমার আই 7 একটি কোয়াড কোর প্রসেসর তবে হাইপারথ্রেডিং রয়েছে (যা আসলে এখানে বিটিডব্লিউ সাহায্য করে) তাই এটি "/ 8" হিসাবে দেখায়

বিকল্প পাঠ


আনন্দটেক ডটকম মাল্টি-কোর এবং মাল্টি-থ্রেড সিপিইউতে পারফরম্যান্সের উন্নতিগুলি বেনমার্ককে সহায়তা করতে 7-জিপ ব্যবহার করে আসছে যা অন্যথায় এই প্রজন্মের বেশিরভাগ সফ্টওয়্যারেই তাত্ত্বিক।
কুমারশ

5
LZMA2 সক্ষম করতে কমান্ড লাইনটি আরগ কি?
জাঙ্গোফান

@ মঙ্কুবাই: আমার অফিসে আই 7 4c-8t-এ, আমি এলজেডএমএ 2 মোডে 7-জিপ চালানো পূর্ণ 8-কোর পেতে পারি না যা কিছু সেটিং সেট করা থাকে। কেবলমাত্র পদ্ধতিতে এটি 8-থ্রেড চালানোর অনুমতি দেয় BZip2 অ্যালগরিদম (ড্রপ-ডাউন মেনু থেকে) যা কম সংক্ষেপণের অনুপাত রয়েছে।
এডওয়ার্ড

@ অ্যাডওয়ার্ড আপনি কোন সংস্করণ ব্যবহার করছেন? 9.20-তে আমি যদি সেই তালিকা থেকে lzma2 নির্বাচন করি তবে আমি 8 টি পর্যন্ত কোর ব্যবহারের বিকল্প পাব।
মকুবাই

2
@ মোকুবাই 9.20 অফিসিয়াল সংস্করণ। এবং গ্রাফিক ইউআই-তে কোনও সমস্যা নেই, এটি প্যানেলটি সেট করার ক্ষেত্রে এখনও 8/8 কোর প্যারামিটার প্রদর্শন করে তবে এটি প্রক্রিয়া করার সময় কেবলমাত্র <20% সিপিইউ ব্যবহার করে। আমি ইস্যুটির জন্য এসইউতে একটি দ্রুত গবেষণা করেছি তবে এখনও এই অদ্ভুততার কারণটি খুঁজে পাইনি। কেবল জেনে রাখুন যে আমি যদি -m0 = lzma2 -mmt = 8 এর মতো প্যারামিটার সহ কমান্ড লাইন 7z ব্যবহার করি তবে সংক্ষেপণটি 100% সিপিইউ ব্যবহার করে তবে আমি একবার জিইউআইতে স্যুইচ করলে এটি একক থ্রেড মোডে ফিরে আসে বা এমন কিছু ... যা খুব অকার্যকর উপায়ে সিপিইউ ব্যবহার করুন (<20%)।
এডওয়ার্ড

31

যেহেতু প্রতিটি থ্রেড একই সাথে একাধিক ফাইলকে সংকুচিত করে বলে মনে হচ্ছে, খুব বড় জিপ কাজের পরিশ্রম বাড়াতে আপনি যা করতে পারেন তা হ'ল থ্রেড সেট করা, আপনার হার্ড ড্রাইভ একবারে একটি ফাইল সন্ধান করবে তা নিশ্চিত করার জন্য।

আমরা আমাদের প্রতিদিনের জিপ-ব্যাকআপ পদ্ধতিতে -mmt=off7-জিপ কমান্ড লাইনে যুক্ত করে কর্মক্ষমতা উন্নত করি । একাধিক ছোট ফাইল থেকে তৈরি আমাদের "ভিজ্যুয়াল এসভিএন সংগ্রহস্থল" এর ব্যাকআপটি 50 থেকে 60 মিনিটের মধ্যে সময় নিচ্ছে।

সহ -mmt=off, আমরা এখন সর্বদা পাঁচ মিনিটেরও কম সময়ে করি! এবং, এই 50 মিনিটের সময়, হার্ড ড্রাইভগুলি সন্ধানের কারণে আমাদের সমস্ত সার্ভারগুলি খুব ধীর ছিল। এখন, এই পাঁচ মিনিটের মধ্যে সবকিছু খুব দ্রুত থাকে।

আপনি কোনও মেশিনে যা করেন তার জন্য, হার্ড ড্রাইভ ক্রিয়াকলাপটি আপনার সিপিইউ ক্ষমতা থেকে সর্বদা ধীর হবে। সমান্তরাল ক্রিয়াকলাপ অক্ষম করে এবং হার্ডড্রাইভ আপনার ফাইলগুলি একের পর এক সিরিয়ালি পড়ে (এবং লিখতে) তা নিশ্চিত করে আপনি ডিস্কের কার্যকারিতা বাড়িয়ে তুলতে পারেন।

এছাড়াও ডিস্ক 1 থেকে পড়া এবং আপনার জিপটি ডিস্ক 2 এ লেখাই ভাল, কারণ শারীরিক মাথাটি পড়া থেকে লেখার দিকে না যায়।

আপনার মেশিনের কার্যকারিতা বজায় রেখে সর্বাধিক জিপ গতি পেতে নমুনা লাইন:

start "" /wait /belownormal c:\Progra~1\7-Zip\7z.exe a -tzip -mx=1 -mmt=off t:\backup.zip d:\folderToBackup\*

D:এবং T:2 বিভিন্ন শারীরিক ডিস্ক হয়


5
আশ্চর্যজনক যে এটি প্রস্তাবিত উত্তরের ঠিক বিপরীত তবে আসলে সঠিক। আমি একটি আর্কাইভ অপারেশনটি কেবল একটি থ্রেড ব্যবহার করে 12 ঘন্টা থেকে 2 এ নামিয়েছি।
এন জোন্স

2
সত্য। এটি আমার জন্যও কাজ করেছিল। সম্ভবত এটি উপলব্ধি করা হয়েছে কারণ তিনি ব্যবহার করছেন -mx=1(যা প্রায় কোনও সংকোচনের নয়)। আপনি যদি সংকোচন না করে থাকেন তবে বেশিরভাগ কাজ এইচডিডি করে থাকে। আপনি যদি -mx=9প্রসেসর সেট করেন তবে ফাইলটি সঙ্কুচিত করার জন্য সত্যই কাজ করা দরকার। আমার এটি চেষ্টা করা দরকার, তবে বাধা কী (এইচডিডি বা সিপিইউ) তার উপর নির্ভর করে এটি আরও ভাল বা খারাপ হতে পারে।
দিয়েগো জ্যানসিক

9
এই উত্তরটি একটি বয়স্ক প্রযুক্তির জন্য খুব নির্দিষ্ট। এসএসডি দিয়ে এটি ব্যবহার করা সম্ভবত কার্যকর নয় কারণ সন্ধানের সময়টি এত কম। এলোমেলো আইওপিএসের সমস্যা বাধা হওয়ার সম্ভাবনা কম। আপনার কেসটি বিশেষ বিশেষ কারণ আপনি খুব কম সংক্ষেপণ সম্পাদন করছেন। মূলত আপনি একটি ফাইল অনুলিপি করছেন। হ্যাঁ, একটি স্পিনিং এইচডিতে ক্রমানুসারে অ্যাক্সেস স্পষ্টভাবে একটি বিজয়ী। সাধারন 7 জিপ ব্যবহারের ক্ষেত্রে আইপি বাউন্ড নয়, সিপিইউ আবদ্ধ হতে পারে। তার জন্য, সমস্ত সিপিইউ কোর ব্যবহার করা অপরিহার্য। তবে একই পরিস্থিতিতে যারা আছেন তাদের ক্ষেত্রে আপনার পরামর্শটি অত্যন্ত মূল্যবান।
dss539

1
ব্যবহার -mmt=offএমনকি দ্রুত হয় -m0=lzma2 -mx=5। (ছাড়া -mmt=off: বাস্তব 1m27.811s, ব্যবহারকারী 2m4.976s, sys 0m3.729s । সঙ্গে -mmt=off: বাস্তব 1m18.896s, ব্যবহারকারী 1m17.160s, sys 0m1.661s )
ostrokach

থ্রেড হ্রাস করতে আমার কাছে খুব ধীর বলে মনে হচ্ছে 1 টি থ্রেড সহ 20 গিগাবাইট ফাইলের জন্য এটি প্রায় 2 এমবি / সেকেন্ডের গতিতে প্রক্রিয়াজাত করা হয়েছিল। 16 টি থ্রেড সহ এটি প্রায় 16 এমবি / সেকেন্ডের গতিতে প্রক্রিয়াজাত করা হয়েছিল।
হালকা বাজ

0

আমি সম্প্রতি ব্যবহৃত সমস্ত সংক্ষেপণ অ্যালগরিদমগুলি (জিপ, আরএআর, 7 জ, টার / বিজিপ 2) আই / ও আবদ্ধ, সিপিইউ আবদ্ধ নয়। আমার ম্যাক ল্যাপটপে মেনুমিটারগুলি দেখা ধ্রুব ডিস্ক ক্রিয়াকলাপ দেখায়, তবে কেবল 50% বা তার চেয়ে কম সিপিইউ ক্রিয়াকলাপ।

সুতরাং, সংক্ষেপণ / ডিকম্প্রেশনকে গতিময় করার উপায় হ'ল আপনার ডিস্ককে গতিময় করা। এটি সর্বদা সম্ভব হয় না।

এটির আমার "সমাধান" হ'ল আমি যখন কিছু সংকুচিত করছি তখন অন্য কিছু করা। :-)


2
যদি ডিস্ক আই / ও ম্যাট সমস্যা ছিল তবে এর অর্থ হ'ল উইনআরআর কোনওভাবে তার সিস্টেমে 7 জিপের চেয়ে দ্রুত ডিস্ক থেকে পড়তে সক্ষম ... এটি আমার কাছে অসম্ভব বলে মনে হয়।
foraidt

1
এটা সম্ভব যে উইনআরআর স্মার্ট ডিস্ক আই / ও ব্যবহার করে; আমি জানি ইনফো-জিপের জিপটি এর ছোট ছোট আই / ও বাফার দ্বারা বাধাগ্রস্থ হয়েছে। তবে হ্যাঁ, এটি সংক্ষেপণ অ্যালগরিদমের মধ্যে পার্থক্য হতে পারে।
ক্রিশ

7z অবশ্যই দ্রুত মোডেও I / O- আবদ্ধ নয়।
সার্জে বোর্স

আপনি বর্ণিত বেশিরভাগ পদ্ধতি সমান্তরালভাবে সংকুচিত হয় না সুতরাং আপনার সিপিইউয়ের কেবলমাত্র 1 টি কোর ব্যবহার করা হয় 2 কোর মেশিনে আপনি 50% পান। আমি আশঙ্কা করি যে আপনার ম্যাকের উপর সিপিইউ আবদ্ধ, আইও আবদ্ধ নয় এবং বেশিরভাগ ম্যাকের এসএসডি রয়েছে যা ডিস্ক সিকস থেকে সত্যই ক্ষতিগ্রস্থ হয় না। 7z সমান্তরালভাবে সংকোচন করতে পারে যদি আপনি এটি করার বিকল্পটি বেছে নেন। (টার, জিপ, বিজিপ, জিজিপ, এক্সগুলি সাধারণত না)
মার্টিন

0

আমার সংস্থায়, আমরা 7-জিপ (4.52 বিটা) এর একটি পুরানো সংস্করণ নিয়ে কাজ করছি, এবং আমরা নিম্নলিখিত কমান্ডটি চালাচ্ছি:

"C:\Program Files\7-Zip\7z.exe" a -mx7 -mmt -sfx -xr!*.<exclude_extension> <destination>.exe <source_directory>\* 

এটি ঠিকঠাক কাজ করছে, তবে নতুন সংস্করণ 16.04 (32-বিট) এ কেবলমাত্র আপগ্রেড করার পরে, কর্মক্ষমতাটি খুব কমেছে, তাই আমি পুরানো সংস্করণে আবার ডাউনগ্রেড করার সিদ্ধান্ত নিয়েছি।


0

আপনি উদাহরণের মতো কোড ব্যবহার করার সময় পারফরম্যান্সের উন্নতি করার আরেকটি ছোট কৌশল:

$7zip = "$env:ProgramFiles\7-Zip\7z.exe"
set-alias sz $7zip
$FileZip = "$DiscoZip\temp\$TempFile"
foreach ($DirData in $ListDir) { $out7z = (sz a $FileZip $DirData) }

যদি সম্ভব হয় তবে অ্যারেতে থাকুন $ তালিকাডায়ার ছোট থেকে বড় থেকে বড় আকারের ডিরেক্টরিগুলি তালিকাভুক্ত করে। এটি ঘটে কারণ প্রতিটি অগ্রণী চক্রের 7zip একটি অস্থায়ী ফাইল তৈরি করে যা মূলটির চেয়ে বড় (বা বড়), তারপরে তাদের মধ্যে নতুন ফাইল যুক্ত করুন। আমি এমন কেসগুলির সাথে চেষ্টা করেছি যেখানে দুটি বা তার বেশি ডিরেক্টরি বড় বড় কিছু এমবি এবং একটি বড় অনেক জিবি রয়েছে এবং সময় সাশ্রয় কয়েক মিনিটের ক্রম অনুসারে।


আমি বিশ্বাস করি এটি কেবলমাত্র বিদ্যমান সংরক্ষণাগারে ফাইল যুক্ত করার পরে প্রযোজ্য। একবারে একাধিক ফাইল যুক্ত করার সময়, কেবলমাত্র একটি অস্থায়ী ফাইল ব্যবহৃত হত। একটি নতুন সংরক্ষণাগার তৈরি করার সময়, একটি অস্থায়ী ফাইলটি ব্যবহার করা হবে না।
ড্যানিয়েল বি

-1

আমার ধারণা হ'ল 7-জিপকে গতি বাড়ানো তার সংক্ষেপণ / ডি-সংকোচনের অ্যালগরিদমগুলি আবার না লিখে অসম্ভব, এমন এক ধরণের সাম্প্রতিক প্রবণতা থাকতে পারে যা গতি বাড়িয়ে তোলে তবে এটি সম্ভবত 10 বা 15% বৃদ্ধির মতো হবে, বিশাল নয় আপনি খুঁজছেন যে 50-100% বৃদ্ধি।


6
মোটেও সত্য নয়। আপনি ডিফল্ট সেটিংসটি কেবলমাত্র পরিবর্তন করে 7-জিপটি ব্যাপকভাবে গতি বাড়িয়ে তুলতে পারেন। আসলে ডিফল্ট সেটিংস সবচেয়ে ছোট ফাইল আকারের জন্য সুরযুক্ত (এবং সবচেয়ে ধীর সংক্ষেপণ অ্যালগরিদম - বিজেপ 2)। এটিকে জিপ এবং এলজেডএমএ সংক্ষেপে "দ্রুততম" এ সেট করা এটি ব্যাপকভাবে দ্রুততর করে।
নিকজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.