جاوا بمقابلہ سی ایپ کی کارکردگی - گیری وضاحت کرتا ہے

مصنف: John Stephens
تخلیق کی تاریخ: 23 جنوری 2021
تازہ کاری کی تاریخ: 1 جولائی 2024
Anonim
کارکردگی کا موازنہ b/w C++، Java اور Python
ویڈیو: کارکردگی کا موازنہ b/w C++، Java اور Python

مواد


بدترین اسکور ، 32 بٹ اینڈروئیڈ 5.0 کے ساتھ شروع کرنا ، ظاہر کرتا ہے کہ جاوا کوڈ سی سے 296 فیصد کم ، یا دوسرے لفظوں میں 4 گنا زیادہ سست تھا۔ ایک بار پھر ، یاد رکھیں کہ مطلق رفتار یہاں اہم نہیں ہے ، بلکہ جاوا کوڈ کو چلانے میں لگائے گئے وقت میں فرق ایک ہی ڈیوائس پر ، C کوڈ کے مقابلے میں ہے۔ 32 ڈگری لوڈ ، اتارنا Android 4.4 کٹ کٹ کے ساتھ اس کے ڈالوک JVM 237٪ پر تھوڑا سا تیز ہے۔ ایک بار اینڈروئیڈ 6.0 پر مارش میلو چیزیں اچھالنے لگیں تو ڈرامائی انداز میں بہتری آنا شروع ہوجاتی ہے ، 64 بٹ اینڈروئیڈ 6.0 کے ساتھ جاوا اور سی کے درمیان سب سے چھوٹا فرق برآمد ہوتا ہے۔

دوسرا ٹیسٹ بنیادی نمبر ٹیسٹ ہے ، بذریعہ بطور آزمائش استعمال ہوتا ہے۔ جیسا کہ اس کوڈ میں اوپر بتایا گیا ہے کہ 64 بٹ استعمال ہوتا ہےلمبا اعداد و شمار اور اس وجہ سے 64 بٹ پروسیسروں کی حمایت کریں گے۔

جیسا کہ متوقع ہے کہ 64-بٹ پروسیسرز پر چلنے والے اینڈرائڈ سے بہترین نتائج برآمد ہوئے ہیں۔ 64 بٹ اینڈروئیڈ 6.0 کیلئے رفتار کا فرق بہت کم ہے ، صرف 3٪۔ جبکہ 64 بٹ Android 5.0 کے لئے یہ 38٪ ہے۔ یہ Android 5.0 اور the پر ART کے مابین بہتری کا مظاہرہ کرتا ہے اصلاح کرنا Android 6.0 میں ART کے ذریعہ استعمال کردہ مرتب۔ چونکہ اینڈروئیڈ 7.0 این اب بھی ترقیاتی بیٹا ہے ، میں نے نتائج نہیں دکھائے ہیں ، تاہم یہ بہتر نہیں تو عام طور پر اینڈروئیڈ 6.0 ایم کے ساتھ ہی کارکردگی کا مظاہرہ کررہا ہے۔ اس کے بدترین نتائج اینڈروئیڈ کے 32 بٹ ورژن کے ہیں اور عجیب طور پر 32 بٹ اینڈروئیڈ 6.0 گروپ کے بدترین نتائج برآمد کرتے ہیں۔


تیسرا اور آخری ٹیسٹ ایک دس لاکھ تکرار کے لئے ایک بھاری ریاضیاتی فعل انجام دیتا ہے۔ فنکشن عددی ریاضی کے ساتھ ساتھ فلوٹنگ پوائنٹ ریاضی بھی کرتا ہے۔

اور یہاں پہلی بار ہمارے پاس نتیجہ نکلا ہے جہاں جاوا دراصل C سے تیز دوڑتا ہے! اس کے لئے دو ممکنہ وضاحتیں ہیں اور دونوں اصلاح اور O کے ساتھ کرنا ہیںptimizingARM سے مرتب کردہ۔ او ،ل ، اوptimizing مرتب AArch64 کے لئے بہتر رجسٹر مختص وغیرہ کے ساتھ زیادہ سے زیادہ کوڈ تیار کرسکتا ہے ، Android اسٹوڈیو میں سی مرتب کے مقابلے میں۔ ایک بہتر مرتب کرنے کا مطلب ہمیشہ بہتر کارکردگی ہے۔ نیز کوڈ کے ذریعے بھی راستہ ہوسکتا ہے جسے Optimizingمرتب کردہ حساب کتاب کی اصلاح کی جاسکتی ہے کیونکہ اس کا حتمی نتائج پر کوئی اثر نہیں ہے ، لیکن سی مرتب کرنے والے نے اس اصلاح کو نہیں دیکھا ہے۔ میں جانتا ہوں کہ اس قسم کی اصلاح او for کے لئے ایک بڑی توجہ تھیptimizingAndroid 6.0 میں مرتب کریں۔ چونکہ یہ تقریب میری طرف سے صرف ایک خالص ایجاد ہے ، اس لئے کوڈ کو بہتر بنانے کا ایک طریقہ ہوسکتا ہے جو کچھ حصوں کو چھوڑ دیتا ہے ، لیکن میں نے اسے تلاش نہیں کیا۔دوسری وجہ یہ ہے کہ اس فنکشن کو ، یہاں تک کہ ایک ملین بار ، فون کرنے سے کچرا اٹھانے والے کو چلانے کا سبب نہیں بنتا ہے۔


پرائمز ٹیسٹ کی طرح ، اس ٹیسٹ میں 64 بٹ استعمال ہوتا ہےلمبا اعدادوشمار ، اسی وجہ سے اگلا بہترین اسکور 64 بٹ Android 5.0 سے آتا ہے۔ اس کے بعد 32 بٹ اینڈروڈ 6.0 آتا ہے ، اس کے بعد 32 بٹ اینڈروڈ 5.0 اور آخر میں 32 بٹ اینڈروڈ 4.4 آتا ہے۔

لپیٹنا

مجموعی طور پر سی جاوا سے زیادہ تیز ہے ، تاہم 64 بٹ اینڈروئیڈ 6.0 مارش میلو کی ریلیز کے ساتھ ہی دونوں کے مابین فرق کو خاصی کم کردیا گیا ہے۔ یقینا. حقیقی دنیا میں ، جاوا یا سی استعمال کرنے کا فیصلہ کالا اور سفید نہیں ہے۔ جبکہ سی کے کچھ فوائد ہیں ، تمام اینڈرائڈ UI ، تمام اینڈرائڈ سروسز ، اور تمام اینڈرائڈ APIs کو جاوا سے کال کرنے کے لئے ڈیزائن کیا گیا ہے۔ سی واقعی میں صرف اس وقت استعمال ہوسکتی ہے جب آپ خالی اوپن جی ایل کینوس چاہتے ہو اور آپ اس کینوس پر کسی بھی Android API کا استعمال کیے بغیر اپنی طرف متوجہ کرنا چاہتے ہیں۔

تاہم اگر آپ کے ایپ کو کچھ بھاری اٹھانا پڑتا ہے تو ، پھر ان حصوں کو سی میں بند کیا جاسکتا ہے اور آپ کو تیز رفتار بہتری نظر آسکتی ہے ، تاہم اتنی زیادہ نہیں جتنی آپ نے پہلے دیکھی ہوگی۔

اپ ڈیٹ ، 29 جنوری 2019 (2:35 AM ET): ایسا لگتا ہے جیسے اس معاملے کی معلومات والے دو آؤٹ لیٹس کے مطابق ، سیمسنگ نے واقعی کیمرہ کمپنی کورفوٹونکس حاصل کرلی ہے۔...

یہ کوئی راز نہیں ہے کہ اسمارٹ فون کی اسمارٹ فون کی صنعت میں غلبہ کو متعدد مختلف چینی مینوفیکچروں نے چیلنج کیا ہے۔ یہ OEM سیمسنگ کی فروخت کو ختم کرتے جارہے ہیں اور یہاں تک کہ اسمارٹ فون کی اعلی عالمی ک...

آج دلچسپ