প্রোগ্রামগুলির আকারগুলি এত বড় কেন?


185

আমরা যদি ভিনটেজ প্রোগ্রাম নেটস্কেপ নেভিগেটর বা মাইক্রোসফ্ট ওয়ার্ডের প্রারম্ভিক সংস্করণটি দেখি তবে সেই প্রোগ্রামগুলির আকার 50 এমবি এর চেয়ে কম ছিল। এখন আমি যখন গুগল ক্রোম ইনস্টল করি এটি 200 এমবি এবং স্ল্যাকের ডেস্কটপ সংস্করণটি 300 এমবি। আমি কিছু নিয়ম সম্পর্কে পড়েছিলাম যে প্রোগ্রামগুলি সমস্ত উপলব্ধ মেমরি গ্রহণ করবে তা যতই হোক না কেন তবে কেন?

10 বা 15 বছর আগের তুলনায় বর্তমান আকারের প্রোগ্রামগুলি এত বড় কেন? প্রোগ্রামগুলি উল্লেখযোগ্যভাবে বেশি ফাংশন করছে না এবং খুব আলাদা দেখাচ্ছে না। এটি এখন কি সংস্থান হগ হয়?


134
মাত্র 4 গুণ আকার ?! একটি আধুনিক ব্রাউজার আরও কত কিছু করে তা বিবেচনা করে আশ্চর্যজনক
রিচার্ড টিঙ্গল

23
পার্শ্ব নোট হিসাবে, আমি বিশ্বাস করি 'কিছু নিয়ম যে প্রোগ্রামগুলি সমস্ত উপলব্ধ মেমরি গ্রহণ করবে তা যতই হোক না কেন তবে কেন?' সম্ভবত শারীরিক ডিস্ক স্থানের চেয়ে এলোমেলো অ্যাক্সেস মেমরিটিকে বোঝায়, কমপক্ষে এটি আমার ব্যাখ্যা হবে। ভুল হতে পারে।
Trotski94

103
সুতরাং আপনি যা বলছেন তা হ'ল যে প্রোগ্রামটি একবারে disk 10 মূল্যবান হার্ডডিস্কের জায়গা নিয়েছিল সেটি এখন প্রায় 30 সেন্ট হার্ড মূল্যের হার্ড ডিস্কের স্থান গ্রহণ করে? আমি এই সম্পর্কে চিন্তা করা কঠিন।
এরিক লিপার্ট

49
"প্রোগ্রামগুলি উল্লেখযোগ্যভাবে আরও বেশি কার্য সম্পাদন করে না" - ভাল লর্ড ম্যান। শুধু কটাক্ষপাত করা এইচটিএমএল 4 বৈশিষ্ট এবং CSS এর 1 বৈশিষ্ট (চিন্তা করবেন না, আমি অপেক্ষা করব - এটা আপনার দীর্ঘ এমনকি যদি আপনি তাদের পড়া গ্রহণ করবেন হবে)। নেটস্কেপ 4 এমনকি এগুলি যথাযথভাবে প্রয়োগ করতে পরিচালনা করে নি। ক্রোম সমর্থন করে এমন নতুন এবং ক্রেজি এইচটিএমএল এবং সিএসএসের পরিমাণটি যথেষ্ট। এছাড়াও এটিতে ট্যাব রয়েছে। এবং প্রতি ছয় সপ্তাহে নিজেকে আপডেট করে।
পল ডি ওয়েট

13
BTW। নেটস্কেপের সময়ে 50 এমবি বড় ছিল, তবে রেকর্ডের জন্য এটিতে কেবল ওয়েব ব্রাউজারই নয় মেল ক্লায়েন্ট এবং এইচটিএমএল সম্পাদক এবং আরও কিছু ছিল।
el.pescado

উত্তর:


265

"খুব আলাদা দেখাচ্ছে" অনুধাবনের বিষয়। আজকের গ্রাফিকগুলিকে তারা আগের তুলনায় সম্পূর্ণ ভিন্ন স্ক্রিন রেজোলিউশনে ভাল দেখতে হবে, ফলস্বরূপ যে একটি 100x100 চিত্র যা লোগোর পক্ষে যথেষ্ট ভাল ব্যবহৃত হত এখন ভয়াবহরকম কঠিন দেখাবে। এটি একই জিনিসটির 1000x1000 চিত্রের সাথে প্রতিস্থাপন করতে হয়েছে, এটি সেখানে 100 এর একটি ফ্যাক্টর। (আমি জানি আপনি পরিবর্তে ভেক্টর গ্রাফিক্স ব্যবহার করতে পারেন, তবে এটি কেবলমাত্র পয়েন্টটির উপরে জোর দেয় - ভেক্টর গ্রাফিক্স রেন্ডারিং কোড এমন সিস্টেমে যুক্ত করতে হয়েছিল যা এর আগে প্রয়োজন ছিল না, তাই এটি এক ধরণের আকার বৃদ্ধি থেকে কেবল বাণিজ্য-বন্ধ অন্যের প্রতি.)

"ভিন্নভাবে কাজ করা" তেমনি উপলব্ধি করার বিষয়। আজকের ব্রাউজার আছে ব্যাপক (। এক বৃষ্টির দিন একটি ঐতিহাসিক ল্যাপটপ ইন্টারনেট সার্ফিং চেষ্টা করে দেখুন - আপনি এটা প্রায় অব্যবহারযোগ্য খোঁজার করব) 1995 থেকে একাধিক জিনিষ তাদের অনেকেই না খুব ব্যবহার করা হয়, এবং ব্যবহার 90 সম্পূর্ণ অজ্ঞাত হতে পারে এর মধ্যে%, তবে তারা সেখানে রয়েছে।

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


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

23
"ফলাফলটি হতবাকভাবে দ্রুত এবং চটজলদি হবে" - ইচ্ছাকৃত চিন্তার মতো শোনাচ্ছে।
ডক ব্রাউন

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

10
@IsmaelMiguel যতদূর Chrome OS এর সংশ্লিষ্ট হয়, ব্রাউজার ইতিমধ্যে হয় একটি সম্পূর্ণ অপারেটিং সিস্টেম। ;
পি

111
tendency to spend less time on optimizing things for space এই. আমি যখন কোড লিখি, আমি স্থান বা গতির জন্য অনুকূলিত হই না। আমি রক্ষণাবেক্ষণের জন্য অপ্টিমাইজ করি দ্রুত বা ছোট হওয়ার চেয়ে কোডবেস সহজেই পরিবর্তন হতে পারে এটি আরও গুরুত্বপূর্ণ। আমি আশা করতে পারি যে প্রোগ্রামের গতি সম্পর্কে প্রতিটি অভিযোগের জন্য, আমি নতুন বৈশিষ্ট্যগুলির জন্য দশটি অনুরোধ এবং এটিকে আরও ছোট করার জন্য শূন্য অনুরোধ পাব।
ব্যবহারকারী 2023861

108

যদি আপনি নেটস্কেপ নেভিগেটরটিকে একটি আধুনিক ব্রাউজারের সাথে তুলনা করেন তবে কার্যকারিতাটিতে একটি বিশাল পার্থক্য রয়েছে। কেবলমাত্র এইচটিএমএল ৩.২ স্পেকের সাথে (51 পৃষ্ঠাগুলি যখন আমি একটি মুদ্রণ প্রাকদর্শন করব) বর্তমান এইচটিএমএল স্পেকের সাথে তুলনা করুন (পিডিএফ সংস্করণটি 1155 পৃষ্ঠা রয়েছে)। এটি আকারে 20x বৃদ্ধি।

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


12
হ্যাঁ, সাম্প্রতিক ব্রাউজারগুলি অ্যানিমেশন, গ্রেডিয়েন্টস, ইমেজ ফিল্টার প্রভাব, জাভাস্ক্রিপ্ট, 2 ডি গ্রাফিক্স (ক্যানভাস), 3 ডি গ্রাফিক্স ওয়েবজিএল, অডিও প্রজন্ম, গেমপ্যাড (!), ভিডিও ডিকোডিং, উন্নত ক্লায়েন্ট-সাইড-স্টোরেজ, পিয়ার-টু-পিয়ার যোগাযোগ করে (WebRTC এর) মাইক / ওয়েবক্যাম, বিজ্ঞপ্তি, ইত্যাদি, ভূ-অবস্থান, WebSocket এর, WebCryptography, এখন MIDI, অ্যাক্সেস
ysdx

1
আরও রিয়েল এস্টেট থাকার জন্য আরও স্টাফ (ডিওএম, সিএসএস, জাভাস্ক্রিপ্ট) যুক্ত করুন (একাধিক মনিটর, রেজোলিউশনে ব্যাপক বৃদ্ধি: কম্পিউটার স্ক্রিনগুলি আরও বড় হচ্ছে: ১৯৯৯-এর মধ্য দিয়ে ২০১১ ) - 800x600 বনাম 1920x1080 বনাম 4 কে ... 8 কে এবং তারও বেশি ... 1080 থেকে 4 কে রেজোলিউশনকে চতুর্মুখী করে ... 8 কে আবার চতুর্ভুজ।
ওয়ার্নার সিডি

7
@ ওয়ার্ননার সিডি সহজভাবে একটি বড় পর্দার জন্য একটি বড় বাইনারি প্রয়োজন হয় না। By৪ বাই 64৪ পিক্সেল, 32 বিট আইকনটির জন্য এটি 800x600 বা 2560x1440 মনিটরে প্রদর্শিত হচ্ছে কিনা তা ডিস্কে একই পরিমাণ স্থানের প্রয়োজন হবে। আপনার উইন্ডোটির আকার পরিবর্তন করা বাইনারি আকার পরিবর্তন করে না। ডিসপ্লেতে যা গুরুত্বপূর্ণ তা হ'ল আপনি যখন পিক্সেল দ্বিগুণ করার মতো জিনিসগুলি শুরু করেন, তারপরে তীক্ষ্ণ দেখাতে আপনার আরও বড় সংস্থান দরকার (এরি)।
বিট্রি

1
@ 8 বিট্রি, এটি সফ্টওয়্যার পারফরম্যান্সের উপর উচ্চতর চাহিদা রাখতে পারে। এবং আরও পারফরম্যান্ট কোড আরও জটিল হতে পারে (যেমন ক্যানভাস ব্যবহার করে এমন একটি ওয়েবসাইটের সম্ভবত এসভিজি ব্যবহারের চেয়ে আরও জটিলতা এবং কোড প্রয়োজন)। তবে হ্যাঁ, আপনি বেশিরভাগই সঠিক।
পল ড্রাগার

1
যদিও এটি সত্য যে বর্তমান এইচটিএমএল এইচটিএমএল ৩.২ এর চেয়ে অনেক বেশি কাজ করে, স্পেসিফিকেশনটি নিজেই আরও অনেক বিশদযুক্ত যা বৈশিষ্ট্যে উল্লেখযোগ্য পরিমাণে সামগ্রী যুক্ত করে। দৈর্ঘ্য তুলনা HTML টি 3.2 বর্ণনা EMউপাদান একটি পূর্ণ আট অথবা নয় শব্দ - - সঙ্গে এইচটিএমএল 5 বৈশিষ্ট একই দৈর্ঘ্য - আমার জন্য, উপাদান পার্শ্ববর্তী উপাদান বর্ণনা, যেখানে সহ একটি screenful চেয়ে বেশি এটি প্রযোজ্য এবং এর ব্যবহারটি কী।
একটি সিভিএন

79

একটি কারণ হ'ল অ্যাপ্লিকেশনগুলির মধ্যে প্যাকেজ করা ডেটাগুলি বৃহত্তর কারণ সেগুলি উচ্চতর রেজোলিউশন এবং মানের। নেটস্কেপের দিনগুলিতে ফিরে আসা একটি আইকন ছিল সর্বাধিক ৩২ বিট গভীরতা (সম্ভবত সম্ভবত ৪,) সহ সর্বাধিক 32x32 পিক্সেল ছিল যখন এখন এটি সম্ভবত x৪xx৪ এর মতো এবং এটি স্বচ্ছতার সাথে সত্য বর্ণে, যার অর্থ 32 বিট গভীরতা। এটি 16 গুণ বড়। এবং স্থানটি এত সস্তা যে পিএনজি তৈরির সময় লোকেরা প্রায়শই "সংক্ষেপিত" বিকল্পটি পরীক্ষা করতে বিরতও করেন না।

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

আর একটি কারণ হ'ল প্রোগ্রামিং ভাষা আজ সমৃদ্ধ রান-টাইম এনভায়রনমেন্টগুলির সাথে একত্রে ঝোঁক দেয়, যা মোটামুটি বড়, প্রতিটি প্রতি 100MB এর সাথে মিলিয়ে। এমনকি আপনি যদি আপনার রান-টাইম পরিবেশের সমস্ত বৈশিষ্ট্য ব্যবহার না করেন, তবুও আপনাকে পুরো জিনিসটি আপনার অ্যাপ্লিকেশনটি দিয়ে প্যাকেজ করতে হবে।

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

  • এটি অন্য কোনও গ্রন্থাগারকে অন্তর্ভুক্ত করার মতো যদি এটি আমার একমাত্র ফাংশন দ্বারা ব্যবহৃত হয়? - হ্যাঁ

  • আমার যদি কেবল সেই লাইব্রেরি দ্বারা প্রদত্ত কার্যকারিতার পুরো সম্পদের একটি ক্ষুদ্র উপসেট প্রয়োজন হয় তবে এটি অন্য লাইব্রেরি অন্তর্ভুক্ত করা কি উপযুক্ত? - হ্যাঁ

  • এটির অন্তর্ভুক্তি যদি আমাকে কেবল 2 দিনের কাজ থেকে বাঁচায় তবে কী অন্য কোনও গ্রন্থাগার অন্তর্ভুক্ত করা উচিত? - হ্যাঁ

  • আমার বেতনের বিভিন্ন প্রোগ্রামাররা ইতিমধ্যে বিভিন্ন লাইব্রেরির সাথে পরিচিত হওয়ার কারণে কেবল একাধিক লাইব্রেরি যে কমবেশি একই উদ্দেশ্যে পরিবেশন করা অন্তর্ভুক্ত? - হ্যাঁ

    (দয়া করে মনে রাখবেন যে আমি কেবল এই প্রবণতাগুলি পর্যবেক্ষণ করছি, আমি এগুলির সাথে একমত বা অসমত কিনা তা নিয়ে আমি কোনও বক্তব্য দিচ্ছি না।)

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

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


17
এটা সঠিক উত্তর. (বর্তমানে) উচ্চ-রেট করা মন্তব্যগুলিতে আরও কার্যকারিতা উল্লেখ করা হয়েছে তবে এটি বর্ধিত আকারটিকে পুরোপুরি ব্যাখ্যা করে না। আকারটি অন্তর্ভুক্ত লাইব্রেরি থেকে আসে যা সেই কার্যকারিতা সরবরাহ করে।
ব্যবহারকারী 1936

5
@ ইসমাইল মিগুয়েল ভাল, আমি নিয়মিত ব্যবহারকারীদের সম্পর্কে কথা বলছিলাম। এছাড়াও, গেমগুলি একটি বিশেষ ক্ষেত্রে, কারণ এই 35 জিবি বেশিরভাগ মিডিয়া, কোড নয় বা লাইব্রেরি। এটি কেবল মিডিয়া হিসাবে ঘটে যা আপনি কেবলমাত্র একটি বিশেষ অ্যাপ্লিকেশনটির মাধ্যমে দেখতে পারবেন যা গেম। এমনকি কোনও গেমারের জন্যও, 35 জিবি আজকের মাল্টি-টেরাবাইট ড্রাইভে কিছুই নয়। যাইহোক, ধরুন আপনি যদি এমন কোনও গেমার হন যিনি একটি ছোট ড্রাইভের মালিক হওয়ার বিষয়ে জোর দিয়ে থাকেন তবে আপনি সেখানে ব্যবহারকারীদের কাছের কোনও প্রতিনিধি নেই।
মাইক নাকিস

2
@ মাইকনাকিস প্রতিটি গেমারের 1TB ড্রাইভ বা 256 জিবি এসএসডি কেনার অর্থ নেই। আমার মতো কারও কারও কাছে 128 গিগাবাইট এসএসডি, বা 500 জিবি এরও কম ল্যাপটপ রয়েছে। কিছুক্ষণ আগে, আমার এসএসডি স্পেসের ব্যবহারের 80% কেবল গেমস ছিল। এটি খালি জায়গা খেয়ে ছিল 3-4 গেমস। এবং গেমটিতেই, প্রায় প্রত্যেকের কাছে একটি ল্যাপটপ থাকে এবং এটি খেলে।
ইসমাইল মিগুয়েল

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

3
@ ইসমাইল মিগুয়েল কোনও প্রোগ্রামারের পক্ষে এটি সম্ভবত তাদের বিভিন্ন ভার্চুয়াল মেশিন, ডকার পাত্রে এবং এ জাতীয়। পুরো ব্লোয়েটেড সিস্টেমগুলি গুন করার চেয়ে ভাল ব্লোট আর কিছুই নেই ;-)
21-28

16

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


5
আমি ভুল হতে পারি, কিন্তু আমি এই মায়ার মধ্যে শ্রম নিচ্ছি যে স্ট্রিংগুলি এই সমস্যার সবচেয়ে কম অংশ। সত্য, সেখানে অনেকগুলি ভাষা রয়েছে তবে এখনও ব্যবহারকারী যে স্ট্রিং দেখেছেন তা খুব সীমিত। সর্বোপরি, আপনার ব্যবহারকারীর ইন্টারফেসে ব্যর্থ হওয়ার একটি অন্যতম নিশ্চিত উপায় হ'ল অতিরিক্ত পাঠ্য অন্তর্ভুক্ত করা।
25:30

5
@ মাস্টার যা বলেছেন তাতে যুক্ত করে, ফায়ারফক্স বিশেষত পুরো স্থানীয়করণ বান্ডিল করে না (এবং আমি এটি নিয়ে ভাবছি, না ওপেনঅফিসও করে না।)
বেনজিউইবি

2
@ মাস্টার স্ট্রিংস, না। তবে স্থানীয়করণ করা ভিডিও এবং অডিও, বিশেষত গেমসের প্রসঙ্গে? আইআইআরসি একটি 60 জিবি গেম ছিল (জিটিএ ভি?) যেখানে> 10 জিবি সম্পূর্ণরূপে স্থানীয় অডিও ছিল। এটি একটি উল্লেখযোগ্য অংশ।
বব

@ بابি রাইট, আমি গেমস নিয়ে ভাবছিলাম না, তারা আমার লেখার চেয়ে বড় ব্যতিক্রম বলে মনে হচ্ছে।
বিপর্যয়কারী

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

13

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


আমি কেন আগ্রহী যে কেন রাতারাতি এই দুটি ডাউনভোট পেল।
ধারালো টুথ

6
আমি তা করি নি তবে আমি মনে করি না এটি যথেষ্ট গভীরতার সাথে সত্যই প্রশ্নের উত্তর দেয়। এটি বেশ কিছুটা বলেছে "সফটওয়্যার বড় হয়ে যায় কারণ এটি আরও স্টাফ করে" এবং আপনি অন্যান্য উত্তরগুলি থেকে দেখবেন যে এর চেয়ে আরও বেশি কিছু আছে।
লাইটনেস রেস

1
একটি সম্পর্কিত ফ্যাক্টরটি হ'ল যে সিস্টেমে স্ট্যাটিক লিঙ্কিং ব্যবহার করা হয়, লিঙ্কারগুলিকে কেবল কোডটি টানতে হবে যা আসলে ব্যবহার করা হয় [কিছু লিঙ্কার সবসময় সর্বদা টানতে পারে, তবে আরও ভালগুলি নির্বাচনী হওয়ার চেষ্টা করেছিল]। ডায়নামিক লিংক ব্যবহার করার সময়, বিশেষত যদি মডিউলগুলি ভাগ করা যায়, এমনকি মডিউলটি ইনস্টল করা প্রথম কোডটি কেবল তার থেকে একটি ফাংশন প্রয়োজন, মডিউলটি ভাগ করতে চায় এমন অন্যান্য কোড দ্বারা কী কী ফাংশনগুলির প্রয়োজন হতে পারে তা জানার উপায় নেই।
সুপারক্যাট

পছন্দ করেছেন বেশিরভাগ ক্ষেত্রে সিস্টেমে কাজ করার সময় আমি দেখতে পাই ভয়াবহভাবে ভুল ভাঙ্গা উত্তরগুলি পাগলের মতো উজ্জীবিত হয়েছে এবং স্বীকৃত হয়েছে যখন সঠিকগুলি প্রায়শই বিস্মৃতিতে নিমজ্জিত হয় ...
ব্রায়ান নোব্লাচ

10

গ্রাফিক্স / ব্যবহারযোগ্যতা প্রকৃতপক্ষে উপাদানগুলির অবদান রাখছে, এটির গ্রন্থাগারটি / অতিরিক্ত সংকলিত কোডের একটি ভয়ঙ্কর প্রচুর পরিমাণ রয়েছে।

কীভাবে এখনও ছোট কোড সিএন হতে পারে তার উদাহরণ: মেনুটোস, শক্তিশালী অ্যাপ্লিকেশন সহ একটি পূর্ণ 64৪-বিট ওএস যা একক ফ্লপি ডিস্কে ফিট করে।

কোন বড় কারণের কোনও বড় কারণের উদাহরণ কোনও স্পষ্ট কারণ ছাড়াই: আমি একটি সাধারণ পাঠ্য আউটপুট "হ্যালো, ওয়ার্ল্ড!" সম্প্রতি অ্যাডায়। সংকলিত নির্বাহযোগ্যটি 1 এমআইবি ছাড়িয়ে গেছে! সমাবেশে একই এক্সিকিউটেবল কেবল একটি কিবি বা 2 (এবং এর বেশিরভাগ অংশ এক্সিকিউটেবল ওভারহেড হয়, আসল চলমান কোডটি দশক বাইট)।


3
ফ্লপি ডিস্ক কি? ;)
500 -

@ 500-InternalServerError অ্যাডা কী? : ডি
বেনজিওবি

3
নতুনদের জন্য, ফ্লপি ডিস্কটি প্রায় 1.4 এমআইবি
সার্জে বোর্স

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

@ ব্রায়ান ড্রামমন্ড, সত্যিই ক্রেপি রানটাইম বা ক্রেপি রানটাইম এবং লাইব্রেরি এবং লিঙ্কারের মতো শোনাচ্ছে। আমি বহু বছর আগে দেখেছি এমন একটি প্রশিক্ষণের ভিডিওতে জিন ইছবিয়া এট আল উল্লেখ করেছিলেন যে একটি আদর্শ আডা রানটাইম (ভাষার মূল সংস্করণের জন্য) প্রায় 4K হবে। কৌতূহলের বাইরে, আমি এটি টিআই 320 সি 30 রানটাইম প্যাকেজটির বিপরীতে পরীক্ষা করেছি। তিনি টাকায় ঠিক ছিলেন।
জন আর স্ট্রোহম

7

এটি তুচ্ছভাবে সত্য যে দুটি জিনিস ফিট করার জন্য সফ্টওয়্যারটি তৈরি করতে হবে: ব্যবহারকারী এবং উপলব্ধ হার্ডওয়্যার। একটি প্রোগ্রাম তার উদ্দেশ্যটির জন্য উপযুক্ত যদি এটি ব্যবহারকারীর নিষ্পত্তি করার সময় হার্ডওয়্যার দিয়ে সময়মত ব্যবহারকারী যা চায় তা করে। ভাল duh. তবে হার্ডওয়্যারটির মুলত সমস্ত পরিমাপযোগ্য মাত্রাগুলিতে উন্নতি হওয়ার কারণে অপ্রয়োজনীয় থেকে ফিটের দিকে চলে যাওয়ার মতো বিযুক্ত প্রোগ্রামের সংখ্যা বৃদ্ধি পায় - নকশার স্থানটি বড় হয়:

  • উচ্চ স্তরের ভাষাগুলি আগের তুলনায় কম কোড এবং সময়ে ধারণাগুলি প্রকাশ করা সম্ভব করে। এই হ্রাস জটিলতা, বিপরীতে, ক্রমবর্ধমান জটিল ধারণাগুলি প্রকাশ করা সম্ভব করে তোলে।
  • অ্যাপ্লিকেশনটির সাথে আরও ডেটা বান্ডিলিং তাৎক্ষণিকভাবে আরও ব্যবহারযোগ্য হয়ে উঠতে পারে। উদাহরণস্বরূপ, বানান যাচাইকরণ অ্যাপ্লিকেশনগুলি মানবতার কাছে পরিচিত প্রতিটি ভাষাতে বান্ডিল হওয়ার আগে সম্ভবত খুব বেশি দিন লাগবে না - এটি কেবল কয়েকটি গিগাবাইট, সর্বোপরি।
  • হার্ডওয়্যার ট্রেড-অফগুলি বিকাশকারী এবং ব্যবহারকারীদের আরও পছন্দ করতে পারে যে সংস্থানটিতে তারা যত্নশীল। উদাহরণস্বরূপ FLAC / OGG বনাম WAV, SVG বনাম PNG, ডাটাবেস সূচী দেখুন।
  • মানবিক ইন্টারফেসগুলি প্রায়শই ব্যবহারযোগ্যতার জন্য বিপুল পরিমাণ হার্ডওয়্যার হিসাবে পরিবেশন করে trade অ্যান্টি-এলিয়াসিং, উচ্চ রেজোলিউশন, দ্রুত সতেজতা এবং কী পরিমাণে বিচ্ছিন্ন প্যানেলগুলির পরিমাণের মধ্যে সোয়াইপিংগুলি আরও বাস্তবসম্মত, এবং তাই স্বজ্ঞাত এবং আপেক্ষিক, অভিজ্ঞতা অর্জন করে।

6

এটি অবশ্যই অ্যান্ড্রয়েড অ্যাপ্লিকেশন সম্পর্কিত সত্য। চার বছর আগে, একটি সাধারণ অ্যাপ্লিকেশনটি প্রায় 2-5 মেগাবাইট স্থান নিয়েছিল। আজকাল একটি সাধারণ অ্যাপ্লিকেশনটিতে প্রায় 10-20 মেগাবাইট স্থান লাগে।

যত বেশি স্থান উপলব্ধ, অ্যাপ্লিকেশন আকারটি বড়।

আমি মনে করি যে অ্যান্ড্রয়েডের ক্ষেত্রে দুটি প্রধান কারণ রয়েছে:

  • গুগল অ্যান্ড্রয়েড কাঠামো প্রসারিত করেছে, প্রচুর নতুন কার্যকারিতা যুক্ত করেছে।

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


1
শেষ বুলেট পয়েন্ট ঠিক ঠিক।
লাইটনেস রেস

3
আমি সর্বমোট একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করেছি এবং এপিপিটি 0.05MB। তারপরে আবার, এটি খুব বেশি কিছু করে না। আমি এখনও ভাবছি কেন স্টপ ওয়াচ অ্যাপ্লিকেশনটি (আমার হিসাবে একই পরিমাণে কার্যকারিতা সহ, যদিও সম্পূর্ণ আলাদা) বেশ কয়েকটি এমবি নেয়।
ইমিবিস

5
গত বুলেট পয়েন্ট ভুল, ডেভেলপারদের না যত্ন। আমাদের কেবলমাত্র বিভিন্ন অগ্রাধিকার নিয়ে জাগ্রত করতে হবে এবং সেই অ্যাপটিকে কিছুটা বড় করে তোলা বোধগম্য।
NPSF3000

এটি এসডিকে (সেই সময়ে) আমার প্রয়োজন নেই এমন আমার 0.05MB অ্যাপ্লিকেশনটিতে একটি 5 + এমবি লাইব্রেরি যুক্ত করার জন্য জোর দিয়েছিল তাও সহায়তা করেনি এবং একটি রিলিজ তৈরির আগে আমাকে এটি সরিয়ে ফেলতে হবে তা মনে রাখতে হবে।
ইমিগ্রিস

4

এটির অনেকগুলি বিকাশকারী সময় এবং সেই সময়ের ব্যয়কে ফোটায়। সেই দিনগুলিতে যখন ভিজ্যুয়াল বেসিক প্রথম দৃশ্যে এসেছিল, এটি সি / সি ++ এর সাথে প্রতিযোগিতা করেছিল এবং এর বিপরীতে সবচেয়ে বড় নকশাকটি হ'ল আপনি সম্ভবত 15 কে-তে উইন্ডোজের জন্য এএনএসআই সি-তে 'হ্যালো ওয়ার্ল্ড' লিখতে পারেন। ভিবিতে সমস্যাটি হ'ল আপনার কাছে সর্বদা 300K রানটাইম লাইব্রেরির আলবাট্রস ছিল।

এখন, আপনি আপনার ভিবি প্রোগ্রামের আকার 10x করতে পেরেছিলেন এবং এটি এখনও কেবল কয়েক কে মাত্র হবে, তবে আপনার সি / সি ++ প্রোগ্রামের আকার 10x এবং আপনি কয়েকটি মাসের আরও বিকাশ খুঁজছেন।

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


2
এই পোস্টটি পড়ার চেয়ে শক্ত (পাঠ্যের প্রাচীর)। আপনি এটিকে আরও ভাল আকারে সম্পাদনা করতে আপত্তি করবেন ?
gnat

1
হ্যালো ওয়ার্ল্ডের "10x আকার" এর জন্য "আরও কয়েক মাসের উন্নতি প্রয়োজন"? দশবার দাঁত ব্রাশ করা কি এক মাসের জন্য আয়না ননস্টপের সামনে দাঁড়িয়ে জড়িত?
বিক্রিস্ট

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

2

সময়ক্রমে, ব্যবহারকারীর চাহিদা বিকশিত হয় এবং আরও বেশি চাহিদা হয়, তাই বিভিন্ন সফ্টওয়্যার বিক্রেতারা / লেখকরা প্রতিযোগিতার নামে সেই চাহিদাগুলি পূরণ করতে বাধ্য হন।

তবে একটি নতুন প্রয়োজন সন্তুষ্ট করার অর্থ প্রায়শই নতুন কোড যুক্ত করা হয়। নতুন কোড মানে নতুন দুর্বলতাগুলি ঠিক করা। নতুন দুর্বলতা ঠিক করা কোডগুলি বা নতুন দুর্বলতার দরজা উন্মুক্ত করতে পারে।

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

এর অর্থ হ'ল অ্যাপ্লিকেশনগুলির নতুন স্তর (কোড), সুরক্ষা এবং কখনও কখনও হার্ডওয়্যার যুক্ত করা।


0

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


-1

সফ্টওয়্যারটি তৈরি করার সময়, আপনার যদি ফাংশন A প্রয়োজন হয়, আপনি একটি মডিউল এ * আমদানি করবেন। A * A সমাধান করতে পারে তবে A * A এর চেয়ে বেশি সমস্যার সমাধান করতে পারে এবং A * বড় হতে পারে। সমস্ত বৃহত মডিউলগুলির আকার বৃহত আকারের সফ্টওয়্যার।

সম্ভবত একই ঘটনা নয়, তবে এর মতো কিছু: জাভা ব্যবহার করে যদি আপনার কেবল কনসোলে "হ্যালো ওয়ার্ল্ড" প্রিন্ট করতে হয় তবে আপনার জেআরই (> 60 এমবি) ইনস্টল করা দরকার।

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


কেন 5 টি ডাউনভোট রয়েছে এবং কেন একটি মন্তব্যই ব্যাখ্যা করছে না?
ক্রোমস্টার

1
@KromStern প্রথম অধ্যায় ব্যাপকভাবে কিভাবে লাইব্রেরি কাজ উপর glosses, এবং অসঙ্গত ব্যবহারের সঙ্গে একটি খুব অস্পষ্ট ভাবে তাই আছে code। আমি দাবী করব যে এটি আসলেই প্রশ্নের উত্তর দেয় না। দ্বিতীয় বিভাগটি জাভাটিকে উদাহরণ হিসাবে ব্যবহার করেছে (যদিও এটি দাবি করার চেষ্টা করা হচ্ছে যে জেআরই আবেদনের আকারের বৃদ্ধির অংশ হিসাবে বিবেচনা করা উচিত - যা আবার প্রশ্নের বিন্দুটি মিস করে এবং মোটেও ন্যায্য উদাহরণ নয় এবং অবিরত অবিরত অবিরত রাখে জাভা সম্পর্কে ভুল বোঝাবুঝি)। সব মিলিয়ে এটি ভুল হয়, বা পূর্বের, আরও ভাল লিখিত, উত্তরগুলিতে পয়েন্টগুলি পুনরাবৃত্তি করে।

1
নেটওয়ার্ক বা ফাইলে লগ করার জন্য আপনার উদাহরণটি খুব ভাল নয় - কারণ কোডের দৃষ্টিকোণ থেকে উভয়ই ফাইল এবং ঠিক একইভাবে পরিচালিত হয় (ফাইল এবং নেটওয়ার্কের মধ্যে পার্থক্য অপারেটিং সিস্টেম দ্বারা পরিচালিত হয়)। আমি এখনও একটি লগিং ফ্রেমওয়ার্ক দেখতে পাই যা এর মূল কার্যকারিতার অংশ হিসাবে "ডাটাবেসে লগইন" করেছে কারণ এটি ওরাকল বনাম মাইএসকিউএল বনাম এসকিএল সার্ভার বনাম পোস্টগ্রিস বনাম ... ড্রাইভার এবং দ্বান্দ্বিক পার্থক্যের দ্বারা জটিল হবে।

@ user40980 ফাইল এবং নেটওয়ার্কের মধ্যে পার্থক্য অপারেটিং সিস্টেম দ্বারা পরিচালিত হয় না। তাদের সাথে সংযোগ স্থাপন করতে এবং লিখতে বিভিন্ন ওএস কল প্রয়োজন। ডাটাবেস অ্যাক্সেস জেডিবিসি বা লিবিডিবি-র মতো ডেটাবেস স্বতন্ত্র স্তরের মাধ্যমে পরিচালিত হয়। (যা পরিবর্তিত সমস্ত ভিন্ন ভিন্ন সমর্থিত ডাটাবেসের জন্য ড্রাইভারদের টানতে পারে!)
ইমিগ্রিস

-2

আমি কিছু নিয়ম সম্পর্কে পড়েছিলাম যে প্রোগ্রামগুলি সমস্ত উপলব্ধ মেমরি গ্রহণ করবে তা যতই হোক না কেন তবে কেন?

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

মেমরিটি অবিলম্বে সাফ করার সাথে সাথে সিপিইউ চক্র এবং মেমরির ব্যান্ডউইদথ ব্যবহারকারীর থেকে দূরে সরে যাবে যখন তারা সম্ভবত সম্ভবত অত্যন্ত প্রতিক্রিয়াশীল ওয়েব পৃষ্ঠাগুলি পর্দায় প্রদর্শিত হতে চাইবে।

অপারেটিং সিস্টেমটি উপলব্ধ সমস্ত অ-অ্যাপ্লিকেশন মেমরি ব্যবহার করবে, যার বেশিরভাগই ফাইল সিস্টেম ক্যাশে।

মেমরি পরিচালনা একটি কঠিন সমস্যা তবে খুব চালাক লোকেরা এতে সর্বদা কাজ করে চলেছে। উদ্দেশ্য নিয়ে কিছুই নষ্ট হচ্ছে না এবং মূল লক্ষ্য হ'ল আপনাকে একটি খুব প্রতিক্রিয়াশীল কম্পিউটার সরবরাহ করা।


3
এ কথাটি যা বলছে তা মোটেই নয়। ভার্চুয়াল মেমরি এবং আবর্জনা সংগ্রহ সবেমাত্র উদ্ভাবিত হয়েছিল যখন সেই উদ্ধৃতিটি লেখা হয়েছিল, এবং সেগুলি ব্যাপকভাবে প্রসারিত হয়নি।
Jörg ডব্লু মিট্টাগ

-2

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

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


2
এই কিছু সারগর্ভ প্রস্তাব উপর পয়েন্ট হয়েছে এবং পূর্বে 13 উত্তর ব্যাখ্যা বলে মনে হচ্ছে না
মশা

-3

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

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

লিনাক্স সি কার্নেলের আকার, কেবল কার্নেল, বনপোক অ্যাপ্লিকেশনগুলির আকারের তুলনায় বিবেচনা করুন। কার্নেলটি পুরো মেশিনটি চালাতে পারে। তবে এটি অ্যাপ্লিকেশনগুলির মতো দ্রুত নির্মিত হয়নি, সেরা কার্যকারিতা তৈরি করতে ধীরে ধীরে সময় লাগে।

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