এইচটিএমএল / জাভাস্ক্রিপ্ট মিনিফিকেশন কেন উপকারী


14

এইচটিএমটি / জাভাস্ক্রিপ্ট মিনিফিকেশন কেন উপকারী যখন এইচটিটিপি প্রোটোকল ইতিমধ্যে জিজেপ ডেটা সংক্ষেপণ সমর্থন করে?

আমি বুঝতে পেরেছি যে জাভাস্ক্রিপ্ট / এইচটিএমএল মিনিফিকেশন অপ্রয়োজনীয় শ্বেতস্পেস সরানোর মাধ্যমে জাভাস্ক্রিপ্ট / এইচটিএমএল ফাইলের আকার উল্লেখযোগ্যভাবে হ্রাস করার সম্ভাবনা রয়েছে এবং সম্ভবত কয়েকটি অক্ষরে পরিবর্তকের নাম পরিবর্তন করা সম্ভব হয়েছে, তবে যখন অনেকগুলি পুনরাবৃত্তি ঘটে তখন LZW অ্যালগরিদম বিশেষত ভাল করে না অক্ষর (উদাহরণস্বরূপ প্রচুর সাদা জায়গা?)

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

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

সুতরাং, আপনি ইতিমধ্যে জাজিপ সংক্ষেপণের মাধ্যমে ফাইলের আকারকে উল্লেখযোগ্যভাবে হ্রাস করার সময় জাভাস্ক্রিপ্ট / এইচটিএমএল মিনিফিকেশন থেকে আপনি কতটা কার্যকারিতা অর্জন করবেন ?

উত্তর:


11

কারণ gzip কম্প্রেশনটির নিজস্ব ওভারহেড (সিপিইউ) থাকে। মিনিফিকেশন হল প্রথম "লো হ্যাঙ্গিং" সংক্ষেপণ যা সিপিইউ হিট ছাড়াই প্রয়োগ করা যেতে পারে।

এগুলি তুচ্ছ মনে হতে পারে, স্কেল জড়িত থাকার পরে সংখ্যাগুলি শীঘ্রই অর্থবোধ করে।

আরও, মিনিফিকেশনের সাথে আপনার জিপিপ কম হয়।


3
আধুনিক ওয়েব সার্ভারগুলি প্রতিটি অনুরোধের জন্য জাভাস্ক্রিপ্ট ফাইলগুলি আসলেই জিপ করবে? সম্ভবত এটি মনে হচ্ছে যে কোনও সার্ভার স্থিতিশীল জিজেডযুক্ত সামগ্রীকে ক্যাশে করবে, কারণ এটির পরিবর্তনের সম্ভাবনা নেই।
অ্যাবার্গ

@ আবার্গ তবুও, এটি সার্ভারে আরও ক্যাশেড ডেটা। (যে
ক্যাচিংটি

@ chilis42: সার্ভারগুলি যদি সমস্যা হয় তবে ফাইল সিস্টেম থেকেই প্রি-জিজেপড ফাইল পরিবেশন করতে সক্ষম হয়।
হার্বি

স্কেল জন্য +1। আপনার যদি 10 জন ব্যবহারকারী এবং 100 টি আঘাত হ'ল এটির অপ্রাসঙ্গিক। আপনার যদি 100k সার্ভারের দরকার হয় তবে এটি যথেষ্ট পরিমাণে সঞ্চয়।
SoylentGray

2
কিছু আমাকে বলেছে যে পুরো স্কেল জাভাস্ক্রিপ্ট সংকলক চলমান এবং অভ্যন্তরীণ উপস্থাপনায় কয়েকটি অপ্টিমাইজ করা রান, এটি প্রায়শই জাভাতে প্রয়োগ করা সমস্ত কম সিপিইউ ওভারহেড নয়
ওলেগ ভি। ভোলকভ

5

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


2

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


1
+1: সংশোধন মোটের মধ্যে সঞ্চয় সম্পর্কে। এটি কোনও স্বতন্ত্র অনুরোধটি দ্রুত হতে সহায়তা করতে পারে তবে সময়ের সাথে সাথে এটির ব্যান্ডউইথের ব্যবহার হ্রাস করা।
জোয়েল ইথারটন

1

ওয়েব অ্যাপ্লিকেশনটিতে আপনি যে একক ব্যয়বহুল কাজটি করছেন তা হ'ল তারের নীচে জিনিসগুলি প্রেরণ করা। যদি আপনি সিপিইউ চক্রের জন্য অর্থ প্রদান করেন তবে তারের নিচে কম জিনিস প্রেরণ প্রায় সর্বদা নেট জয়।

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

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