প্রোগ্রামিং ভাষার রানটাইমগুলির মেমরি গ্রাহক, এক্সপ্রিটিভনেস এবং প্রোডাকশন বাগ অনুপাতের সাথে সম্পর্কিত বলে তুলনামূলক অধ্যয়ন আছে কি? [বন্ধ]


10

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

আমরা একটি প্রোগ্রামিং ভাষার পার্শ্ব প্রতিক্রিয়া এবং এর সরঞ্জামগুলির উপর তুলনামূলক অধ্যয়নের একটি শালীন ভাগ পাই, যেমন:

  • নির্মাণ সময়,
  • পোস্ট-প্রোডাকশন বাগ সনাক্তকরণের সম্ভাবনা,
  • অভিব্যক্তি শক্তি,
  • ইত্যাদি ...

যাইহোক, আমি সম্প্রতি আমার প্রোগ্রামগুলির মেমোরি গ্রাহ্যতায় অন্য কোনও কিছুর চেয়ে আরও বেশি বেশি ধাক্কা খেয়েছি। এটি এ থেকে আসতে পারে যে মুরের আইন কাঁচা পারফরম্যান্সের জন্য আমাদের পক্ষে রয়েছে, আমরা বুঝতে পেরেছি যে অন্যান্য বাধা আরও গুরুত্বপূর্ণ। এটি এবং আমি আমার হার্ডওয়ারটি প্রায়শই প্রায়শই আপডেট করার প্রবণতা রাখি না, এবং আমার কিছু "পুরাতন" রয়েছে (4 জিবি র্যাম সহ 2005-2006 3.6GHz পেন্টিয়াম 4) যা আজকাল বড় অ্যাপ্লিকেশনগুলির জন্য ব্যবহারযোগ্য হওয়ার জন্য কঠোর চাপযুক্ত এগুলির মধ্যে থেকে প্রতিটি বিট রস বের করার জন্য আমাকে প্রচুর সমস্যায় পড়তে হবে (ওএস, ইউআই নির্বাচন, পরিষেবাদি এবং ডেমোন পছন্দ করা, কোনও কাজ বা অন্য কোনওটির জন্য অ্যাপ্লিকেশনগুলির পছন্দ ...)। বেশ সত্যই, কখনও কখনও আমি আগুন জ্বালিয়ে দিয়েছি topবা procexpসবচেয়ে নিরীহ প্রোগ্রামগুলির দ্বারা ব্যবহৃত স্মৃতি দেখে কাঁদছি।

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

আধুনিক প্রয়োজনের জন্য আধুনিক সরঞ্জাম

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

সুতরাং, আমার প্রশ্নটি হ'ল, বেঞ্চমার্কস গেম এবং অন্যদের কাছে এমন কোনও দুল রয়েছে যা ভাষার 'বেস রানটাইম মেমোরি খরচ' তুলনা করে?

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


3
মানদণ্ডের খেলাগুলি কেন অপর্যাপ্ত? এটি সম্ভবত সেরা উত্স, এবং এটি ইতিমধ্যে মেমরির বিশদটি কভার করে।
রবার্ট হার্ভে

@ রবার্টহারভে: এটি মেমরির তথ্য সরবরাহ করে তবে এটি "বেস" রানটাইমের জন্য নয়। এছাড়াও, আমি বেঞ্চমার্কস গেমের চেয়ে বরং আর্কেইন থেকে তথ্য আহরণ করতে পাই (যে নিবন্ধটি এর ডেটা দিয়ে আশ্চর্যজনক কাজ করে তার আরও কৃতিত্ব , যদিও এটি আমি সন্ধান করি না)।
হাইলেম

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

2
How much memory consumption makes you weep?নিষ্ক্রিয় ক্রোম ট্যাব ডাব্লু / ও এক্সটেনশনের জন্য 30 এমবি, এটিআই-এর সিসিসির জন্য 100 এমবি, এমনকি নিষ্ক্রিয় গুগলটাক প্লাগইনের জন্য 11 এমবি, বা নিষ্ক্রিয় প্রিন্টার ড্রাইভারের জন্য 23 এমবি। এই জিনিসগুলি এবং আরও অনেক কিছু। ক্রোম উদাহরণটি আরও জটিল উদাহরণ হিসাবে পার্কের বাইরে কিছুটা দূরে, তবে অন্যগুলি ইতিমধ্যে আমাকে বেশ খানিকটা অবাক করে দিয়েছে।
হাইলেম

উত্তর:


7

আমি কিছু আংশিক তথ্য পেয়েছি, তাই আমি আমার নিজের উত্তরে আমার অনুসন্ধানগুলি সংকলন করা শুরু করব। দয়া করে আপনার নিজের উত্তরগুলি অবদান (বা এটি সম্পাদনা) করা থেকে বিরত থাকবেন না।

বিদ্যমান সাহিত্য:

  • 7 টি প্রোগ্রামিং ভাষার একটি পরীক্ষামূলক তুলনা - প্রিচেল্ট (2000) [ পিডিএফ ]

    কিছুটা তারিখযুক্ত, তবে আমি আগ্রহী এমন কিছু উপাদানকে কভার করে যা রানটাইম মেমরির ব্যবহার এবং এক্সপ্রেসিভনেসের একটি দৃষ্টিভঙ্গি দেয়। ফলাফলগুলি এখন ব্যাপকভাবে পৃথক হতে পারে তবে এটি একটি আকর্ষণীয় শুরু।

  • প্রোগ্রামিং ভাষার গতি, আকার এবং নির্ভরযোগ্যতা - মার্সাও (২০০৯) [ ব্লগ ]

  • কোড ব্যবহৃত, বেঞ্চমার্কস গেম থেকে সময় ব্যবহৃত আকারগুলি [ u32 , u32q , u64 , u64q ]

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


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

আপনার "বেস রানটাইম মেমোরি খরচ" এর জন্য "হ্যালো ওয়ার্ল্ড" প্রোগ্রামগুলির একটি সাধারণ তুলনা আপনার প্রয়োজন হিসাবে ভাল হতে পারে।
igouy

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

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

মধ্যে পরিমাপ তাকান - "কিন্তু আমি পরীক্ষা এবং নথি থেকে / রক্ষা যে নিজেকে না আছে আশা করছিলাম" InternetArchive । তোমার জন্য দুর্ভাগ্যবশত আমি সিদ্ধান্ত নিয়েছে হ্যালো ওয়ার্ল্ড জন্য মেমরি পরিমাপ একদম বিভ্রান্তিকর হয় এবং বন্ধ 2005. পরে প্রদর্শন করার
igouy

1

এটি প্রতি কথার প্রশ্নের উত্তর দিচ্ছে না, তবে সম্ভবত দৃষ্টিভঙ্গিটি কিছুটা পরিবর্তন করেছে। আমি চ্যাট থেকে লিখিত প্রতিলিপিটি মনে রাখছি, এই উত্তর-মন্তব্যের সুরটি সেট করতে যা অনেকগুলি নিচের ভোটের বিষয় হিসাবে নিশ্চিত।

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

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

কোনও ডেস্কটপ তার মোবাইল লিগ্যাসির সামঞ্জস্যতার মাত্রার সাথে তার উত্তরাধিকার সফ্টওয়্যারটির সাথে সামঞ্জস্যের পরিমাণের তুলনা করুন।

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

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

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

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

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

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


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

এটি অবশ্যই মাইক্রোসফ্টের দিকে ঝুঁকতে আমার উদ্দেশ্য নয়, তবে এ ক্ষেত্রে সর্বাধিক দেখার পক্ষে এগুলি সবচেয়ে সহজতম ঘটনা। অন্যান্য বড় নাম, traditionalতিহ্যবাহী সরবরাহকারীরা একই নৌকায় রয়েছেন, এমনকি যদি কিছুটা আলাদা বিবেচনায়ও থাকে (উদাহরণস্বরূপ শিল্প গ্রেডের ডাটাবেস এবং নেটওয়ার্কিং সরঞ্জাম; তারা কতগুলি আপস করে যে তারা অন্যথায় তাদের অন্তর্নিহিত পণ্য উদ্ভাবন এবং মানকে উল্লেখযোগ্য উন্নতি করতে বাধা দেয়) । এমনকি আমাদের প্রত্যেকে যে পণ্যগুলি সমর্থন করে সেগুলিতে বাড়ির আরও কাছাকাছি, আমরা সেই প্রবাদটি ক্রসকে এক ডিগ্রি বা অন্য একটিতে নিয়ে যাই।
জাস্টিনসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.