فعلا مجال آن رسیده میباشد که اپهای ساختهگردیده با Swift و React-Native را در مقابل هم در اختیار بگذاریم طراحی اپلیکیشن در مشهد و تلاش آنهارا باهم مقایسه کنیم. برای این خواسته از برنامه «Instruments»، جنس کمپانی اپل که در ویرایشگر Xcode جایدارد، به کار گیری میگردد. قسمتهایی که دو نرم افزار باهم مقایسه می شوند، عبارتاند از: CPU (با به کارگیری از ابزار Time Profiler، (GPU (با به کار گیری از ابزار Core Animation) و ترازو مصرف مموری (با استعمال از ابزار Allocations). برنامه Instruments، قابلیت اتصال دستگاه گوشی به کامپیوتر، اجرای نرمافزار، گزینش ابزار اندازهگیری مایحتاج و تصویب حاصل سعی را مهیا مینماید.
در هر نرم افزار، چهار زبانه وجود داراست. به هر زبانه، یک «وظیفه» تخصیص یافته میباشد که برای اندازهگیری کارایی اپلیکیشن در هر قسمت، این وظیفه انجام میشود. کارایی اولی زبانه (Profile)، ورود به رخبوک میباشد. در کد این اپلیکیشن، درخواست گراف (Graph Request) برای بازگردانی تصویر پروفایل، نشانی اینترنتی و اسم استفاده کننده از صورتبوک به اپ جایدارد. زبانه دوم (To Do List)، وظیفه افزودن و حذف کردن یک «مورد شغل های روزمره» از فهرست مربوطه را بر ذمه دارااست. زبانه سوم (Page View)، جنبش میان سه برگهاکران Page View را اجرا می دهد. وظیفه زبانه چهارم (Maps)، اجرای کدهایی برای زوم کردن روی نقشه و اکران شرایط فعلی استفاده کننده با استعمال از یک نقطه آبی رنگ میباشد.
اندازهگیری تلاش CPU
هرکدام از زبانهها را از دید تلاش CPU باهم مقایسه می کنیم:
Profile: کادرورک React-Native، این نصیب را با اختلاف 1.86 درصد تلاش خوب در استعمال از CPU موفق میگردد. در طی اجرای وظیفه این زبانه و تصویب اندازهگیری مقادیر و در لحظه فشار دادن دکمه «Log in with Facebook»، یک جهش ناگهانی در معیار مصرف CPU مشاهده شد.
To Do List: درین زبانه نیز، React-Native با اختلاف 1.53 درصد، کوشش بهتری را آرم بخشید. در هنگام اجرای وظایف این زبانه و تصویب اندازهگیری مقادیر و در لحظه افزودن و حذف کردن یک مورد در فهرست، تعدادی جهش ناگهانی در واحد سنجش مصرف CPU مشاهده شد.
Page View: دراین بخش، Swift با تفاوت 8.82 درصد تلاش عالی، React-Native را ناکامی اعطا کرد. هنگام اجرای تلاش این زبانه و تصویب اندازهگیری مقادیر و در لحظه تکان فی مابین صفحه ها گوناگون، یکسری جهش ناگهانی در معیار مصرف CPU مشاهده شد. در هنگام توقف در یک ورقه، این معیار مصرف کاهش یافت البته با تکان مجدد، واحد سنجش مصرف CPU توشه دیگر ارتقا یافت.
Maps: دراین زبانه نیز Swift با اختلاف 13.68 درصد، کوشش بهتری از خویش نشانه اعطا کرد. در طی اجرای وظیفه این زبانه و تصویب اندازهگیری مقادیر و در لحظه فشار دادن زبانه، یک جهش ناگهانی در واحد سنجش مصرف CPU مشاهده شد. در به عبارتی لحظه، حالت فعلی استفاده کننده در نقشه پیدا و به وسیله یک نقطه آبیرنگ چشمکزن مشخص و معلوم شد.
بااینکه Swift در دو زبانه و React-Native نیز در دو زبانه تلاش بهتری نسبت به یکدیگر داشتند، درمجموع، Swift با 17.58 درصد اختلاف، کوشش بهتری را در استفاده CPU از خویش آرم بخشید. در شرایطی که به مکان تمرکز بر اجرا هرمورد از وظایف زبانهها و آنگاه توقف عمل، مجال بیشتری صرف فعالیت کردن با اپ گردد، ممکن میباشد حاصل تغییر تحول نمایند. اگرچه، تغییری در مصرف CPU هنگام تغییر تحول زبانهها مشاهده نشد.
اندازهگیری تلاش GPU
دومی معیاری که پژوهش خوا هیم کرد، همت GPU میباشد. برای هریک از نرمافزارهای ساختهگردیده Swift و React-Native، وظایف باطن هر زبانه اعمال و آن گاه اندازههای بهدستآمده تصویب میگردد. حداکثر مقدار معینگردیده در مبنا Y، 60 کادر بر ثانیه میباشد. در هر ثانیه، یک مقدار به وسیله ابزار «Core Animation» تصویب میگردد. با استعمال از مقدار میانگین این مقادیر، نمودارهای پایین ترسیم گردیدهاند:
اکنون، هر مورد از زبانهها را از لحاظ کارایی GPU باهم مقایسه میکنیم:
Profile: گویش Swift، این نصیب را با اختلاف نادر 1.7 کادر بر ثانیه برنده شد. در طول اجرای وظیفه این زبانه و تصویب اندازهگیری مقادیر، یک جهش ناگهانی در مقدار کادر بر ثانیه، در لحظه فشار دادن دکمه «Log in with Facebook» مشاهده شد.
To Do List: درین زبانه نیز، React-Native با 6.25 کادر بر ثانیه بیشتر از Swift، کارایی بهتری از خویش آرم بخشید. در هنگام اجرای وظایف این زبانه و تصویب اندازهگیری مقادیر، در لحظه افزودن و حذف کردن یک گزینه در فهرست، یک جهش ناگهانی در مقدار قاب بر ثانیه مشاهده شد.