ভার্চুয়াল মেশিনে চালিত হওয়ার কারণে অ্যান্ড্রয়েড বা জাভা আরও শক্তি ব্যবহার করে?


14

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

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

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

প্রসঙ্গ : উইকিপিডিয়া থেকে উদ্ধৃত:

  1. জাভা বাইটকোড সি কোডের জন্য অ্যাসেম্বলি ভাষার অনুরূপ।
  2. সংকলকের দৃষ্টিকোণ থেকে, জাভা ভার্চুয়াল মেশিন হ'ল একটি নির্দেশিকা সেট সহ অন্য একটি প্রসেসর, জাভা বাইটকোড, যার জন্য কোড তৈরি করা যেতে পারে।
  3. জেভিএমের একটি স্ট্যাক আর্কিটেকচার রয়েছে। ডালভিক একটি প্রক্রিয়া ভার্চুয়াল মেশিন যা জেভিএমের মতো একই ধরণের ভার্চুয়ালাইজেশন নয় এবং এটিতে একটি রেজিস্টার আর্কিটেকচার রয়েছে।

যেহেতু জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ বাইকোডে সংঘটিত হয়েছে (সমাবেশ-এর মতো) এবং এটি ভার্চুয়াল প্রসেসরের উপর চলে তাই এটি সত্যিকারের সফ্টওয়্যার কোড বহনযোগ্যতার জন্য সরবরাহ করে। এছাড়াও, যেহেতু লিনাক্সের জন্য একটি জেভিএম রয়েছে এবং লিনাক্সগুলি ওপেন হার্ডওয়্যারে পোর্ট করা হয়েছে, সংমিশ্রণটি পুরো স্ট্যাক জুড়ে সত্যিকারের অ্যাপ্লিকেশন বহনযোগ্যতা সরবরাহ করতে পারে।

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

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

যাই হোক না কেন, নীচের উত্তরগুলির জন্য ধন্যবাদ।


1
ব্যাটারিগুলি তাদের এমএএইচ দ্বারা তুলনা করবেন না। এটি বর্তমান; তত্ত্ব অনুসারে আপনার কাছে 10000000 এমএএইচ ব্যাটারির চেয়ে 2 এমএএইচ ব্যাটারি বেশি ক্ষমতা (ওয়াট-ঘন্টা) থাকতে পারে। ভোল্টেজ উপর নির্ভর করে। নেক্সাস 4 এর 8 টি ব্যাটারি রয়েছে যেখানে আইফোন 5 এর 5.45 ডাব্লু ব্যাটারি রয়েছে। পার্থক্যটি মূলত পর্দার আকারের কারণে: নেক্সাস 4-এ একটি 4.7 "তির্যক ডিসপ্লে রয়েছে যেখানে আইফোন 5-তে 4 ইঞ্চি রয়েছে, উচ্চতর রেজোলিউশন এবং উচ্চতর উজ্জ্বলতা (608 সিডি / এম ^ 2 বনাম 500) রয়েছে। প্রসেসরটি হ'ল এছাড়াও লক্ষণীয়ভাবে বিভিন্ন।। নেক্সাস 4 হয়েছে কোয়াড-কোর @ 1.5 গিগাহার্জ; আইফোন 5 ডুয়াল কোর @ 1.3 গিগাহার্জ হয়েছে দ্রুত = আরো বেশি ব্যাটারি ব্যবহার
allquixotic

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

উত্তর:


25

আপনার প্রশ্ন অনেক ত্রুটিযুক্ত অনুমান উপর ভিত্তি করে । আমাকে এগুলি পরিষ্কার করার চেষ্টা করুন:

  • আপনি "জেভিএম (ডালভিক ভিএম)" বলেছিলেন। এটি "বিমান (সাইকেল)" বলার মতো। এই দুটি জিনিসের একে অপরের সাথে একেবারে কোনও সম্পর্ক নেই।

  • আপনি বলেছিলেন "... যা মূলত ভার্চুয়াল প্রসেসর"। কেবল মিথ্যা। এমনটি নয় যে প্রতিবার প্রযুক্তিগত প্রসঙ্গে "ভার্চুয়াল মেশিন" বা সংক্ষিপ্ত বিবরণ "ভিএম" শব্দ ব্যবহৃত হয়, এটি মূলত ভিএমওয়্যার ওয়ার্কস্টেশনের সমতুল্য । এর কারণ হল অথবা VMware মত পণ্য হয় আসলে কি একটি সম্পূর্ণ কম্পিউটার না শুধুমাত্র CPU- র অনুকরণ, এবং অন্য অপারেটিং সিস্টেমের উপরে একটি অপারেটিং সিস্টেম দৌড়াচ্ছে। ডালভিক ভিএম এর মতো কাজ করে না । কাছেও নয়।

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

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

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

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

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

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

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

অ্যান্ড্রয়েড ব্যাটারি চালিত ডিভাইস বা যে কোনও ডিভাইসটির ব্যাটারি লাইফ নিয়ে সমস্যা হতে পারে তার কয়েকটি আসল কারণ এখানে রয়েছে :

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

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

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


1
+1 এটি একটি সামান্য tl; dr তবে এর সব কিছু আছে এমনকি একটি ভাল প্রযুক্তিগত উত্তরও রয়েছে।
ডোক্টোরো রিচার্ড

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

এই উত্তরটি বেশ তথ্যবহুল তবে প্রশ্ন থেকে অনেক দূরে গেছে। প্রশ্নের মূল বিষয় ছিল ভিএম ওভারহেড কি আরও সিপিইউ সময় ব্যবহার করে তা এটি নিয়োগ করে এমন অপটিমাইজেশন দ্বারা সঞ্চয় করে। এটি ওআরড্রয়েডের চেয়েও কেন অ্যান্ড্রয়েডের চেয়েও উন্নত, যদিও প্রশ্নটির ইঙ্গিতটি ওশের পক্ষের কাছেও ছিল It
ইগোর Čordaš

এখানেও একটি ত্রুটিযুক্ত ধারণা রয়েছে। আইওএসের ম্যাক ওএসের স্বয়ংক্রিয় মেমরি পরিচালনার অভাব নেই। এবং এটি প্রকৃতপক্ষে পরিচালন যা ডালভিককে তার সমস্ত সাধারণ সমস্যা দিয়ে "একটি জাভা" করে তোলে। কয়েক মাস আগে ডালভিকের আবর্জনা সংগ্রহের বিষয়ে (জিসি) সমস্যাগুলি সম্পর্কে একটি দুর্দান্ত ভালো ওভারভিউ ছিল: anandtech.com/show/8231/… - তারা যদি ব্যাটারির জীবনকে খুব বেশি প্রভাবিত করে বা কেবল পারফরম্যান্স আমি বলতে পারি না।
pvblivs

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

5

এই উত্তরে আমি অ্যান্ড্রয়েড এবং আইওএসের সাথে পারফরম্যান্সের তুলনা করব কারণ দু'জনই বাজারের অংশীদারদের 80% অংশ নিয়েছে।

জাভা অ্যাপ্লিকেশনগুলি আরও শক্তি ব্যবহার করে না। ( http://www.javarans.com/2004/05/04/looks- Like-apple-should-switch / ) ওরাকল এর জাভা ভিএম বা বাস্তবে গুগলের ডালভিক ভিএম আইওএসের অবজেক্টিভ-সি এর চেয়ে অনেক বেশি কার্যকর বলে বিবেচিত হয়। জাভা ফোনে কার্যকর হওয়ার আগে কোডটি অপ্টিমাইজ করতে সক্ষম যার ফলে আরও ভাল পারফরম্যান্স হতে পারে। জাভা লাইব্রেরিগুলি ওপেন সোর্স এবং তাই শত শত বিভিন্ন বিকাশকারী তাদের দ্বারা অনুকূলিত করেছেন। অন্যদিকে আইওএসের সাহায্যে কেবল অ্যাপল বিকাশকারী কোড পরিবর্তন করতে পারবেন। কম পর্যালোচনা = কম সম্ভাব্য কর্মক্ষমতা।

অ্যানড্রয়েড প্রোগ্রামগুলি নেটিভ সি কোড চালাতে সক্ষম হয় যা পুনরায় তাত্পর্যপূর্ণ হতে পারে আইটেম-সি (আইওএস-এ সমর্থিত একমাত্র ভাষা)।

গুগল যে কারণে ডালভিক ভিএম ব্যবহারের সিদ্ধান্ত নিয়েছে তা বহনযোগ্যতার জন্য। আমি চারটি আলাদা সিপিইউ আর্কিটেকচার সম্পর্কে জানি যা অ্যান্ড্রয়েড অফিসিয়ালভাবে চালাতে পারে (এআরএম, এমআইপিএস, x86, আই.এমএক্স)। অন্য প্রতিটি ফোনের ওএস কেবল একটি (এআরএম) ব্যবহার করতে পারে। ( http://en.wikedia.org/wiki/Compistance_of_mobile_operating_systems ) সুতরাং আইপিফোনের উদাহরণস্বরূপ বিভিন্ন সিপিইউর সাথে তুলনা করা অন্যায্য air যদি অ্যান্ড্রয়েড আইফোনটিতে চালিত হয় তবে অ্যান্ড্রয়েডের সাথে উচ্চতর পারফরম্যান্স এবং ব্যাটারি জীবনের তুলনা করা যেতে পারে।

"জাভা অ্যাপ্লিকেশনগুলি আরও শক্তি ব্যবহার করে?" সহজভাবে না।
অন্যান্য প্ল্যাটফর্ম / ফোনের তুলনায় অ্যান্ড্রয়েড ফোনগুলিতে কেন এ জাতীয় ভয়াবহ ব্যাটারি থাকে? অনেক অ্যান্ড্রয়েড ফোন অ্যাপলের আইফোনের তুলনায় সস্তা তৈরি হলেও দামের পার্থক্যটি দেখুন। এতে বেশি বড় ব্যাটারি থাকায় আইফোনের দাম বেশি হয় (এবং এটি গড় ধীর সিপিইউ)। আমার অ্যান্ড্রয়েড ফোন (গুগল গ্যালাক্সি নেক্সাস) আইফোন 4 জি এর সাথে তুলনামূলক ব্যাটারি লাইফ রয়েছে তবে এর চেয়ে অনেক দ্রুত হার্ডওয়্যার স্পেস রয়েছে (1GHz বনাম 1.2GHZ)।

সম্পাদনা: জাভা প্রোগ্রামারের জ্ঞান ছাড়াই কোড অনুকূলিত করতে পারে। পারফেক্ট, সি কোড সবসময় জাভা / অবজেক্টিভ-সি / সি # এর চেয়ে দ্রুত চলবে; বলেছিল, কতজন প্রোগ্রামার নিখুঁত আছে? জেভিএম স্তরে জাভা এবং গ্রন্থাগারগুলি সর্বদা এটির ওপেন সোর্স বিকাশের নীতিগুলির কারণে "আরও নিখুঁত" থাকবে। ( http://www.infoq.com/news/2012/03/Defects-Open-Source-Commercial )

সম্পাদনা 2: তথ্যের ক্ষুদ্র স্থান: লেনোভোর নতুন পি 780 অ্যান্ড্রয়েড ফোন - আইফোনে 12 ঘন্টা বনাম 12 ঘন্টা টক।


1
আমি যুক্তি দিয়েছি যে প্রশ্নটি নিজেই সম্পূর্ণরূপে অসমর্থিত দাবী করে যেমন "... অ্যান্ড্রয়েড ফোনগুলির অন্যান্য প্ল্যাটফর্ম / ফোনের তুলনায় এ জাতীয় উদ্বেগজনক ব্যাটারি লাইফ রয়েছে"। কেবল সত্য নয়।
allquixotic

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

ঠিক আছে প্রথম মন্তব্যকারী সঠিক ধরনের। বিস্তারিত পরীক্ষা ছাড়াই সমস্ত উত্তর পক্ষপাতমূলক হবে। আমি সম্মত নই যে অ্যান্ড্রয়েড ফোনের ব্যাটারি জীবন বেশ ভয়ানক, তবে এটি অবশ্যই ভিএম এর কারণে নয় কারণ অনেক লোক উল্লেখ করেছে।
ইগোর Čordaš

অ্যান্ড্রয়েডে এআরটি রানটাইম আসার সাথে সাথে এই সমস্ত তথ্য শীঘ্রই পুরানো হয়ে যাবে।
মার্ক লোপেজ

3

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

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


তুমি ঠিক. ওলেড স্ক্রিনে ব্ল্যাক ইন্টারফেস উপাদান ব্যবহার করার পরেও বেশিরভাগ ক্ষেত্রে এনডিকে বনাম এসডিকে নিয়ে যাওয়া বড় পাওয়ার সেভার হবে।
ইগোর Čordaš

3

অন্যান্য সমস্ত পোস্টারের ক্ষেত্রে আমি বিশ্বাস করি যে এখানে সর্বাধিক গুরুত্বপূর্ণ বিষয়গুলি সি / সি ++ / জাভা বিদ্যমান কিনা তা নয় তবে অ্যাপ্লিকেশনগুলি কী করছে।

যেহেতু বিদ্যুত ব্যবহারের মানচিত্রগুলি সরাসরি প্রক্রিয়াজাতকরণের সাথে থাকে, তাই আমি নিজেকে জিজ্ঞাসা করব কোনও প্রোগ্রাম কী করবে।

বলুন আপনি সংখ্যা যুক্ত করছেন। বলুন আপনি 2.000.000 না পৌঁছানো পর্যন্ত অসীম লুপটিতে 2 দিয়ে 2 যুক্ত করছেন। দুটি প্রশ্ন উত্থাপিত হয়:

  1. এটি কীভাবে বাস্তবায়ন করা হয়: এটি কি একটি লুপ? এটা কি কিছুক্ষণ লুপ? (এটি কি কোনও গোটো / লেবেল হ্যাক?)
  2. কোডটি কীভাবে অনুকূলিত হচ্ছে।

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


0

হ্যাঁ.

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

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

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

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

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