تحلیل سریع رابطه زبان برنامهنویسی و سرعت پاسخگویی یک فریمورک
این هفته هنگامی که در جلسه مصاحبه یکی از نیروهای بکاند، نام فریمورک Sanic پایتون به گوشم خورد، کنجکاو شدم که در مورد این فریمورک پایتون یک جستجوی سریع داشته باشم و اگر نکته خاص یا ویژگی متمایزی داشت، از آن بهره ببرم. هنگام جستجو، به مخزن کد the-benchmarker/web-frameworks
برخوردم که با حدود ۱۳۰ مشارکت کننده به بررسی سرعت پاسخگویی فریمورکهای مختلف وب پرداخته بود و به صورت مداوم به روزرسانی میشد.
the-benchmarker/web-frameworks
Which is the fastest web framework? Contribute to the-benchmarker/web-frameworks development by creating an account on GitHub.
https://github.com/the-benchmarker/web-frameworks
با اولین نگاه چندین نکته برایم جالب بود :
تصمیم گرفتم این جدول و این نتایج را با پاوربیآی، تحلیل کنم و ببینم دقیقاً درصد زبانهای تشکیل دهنده فریمورکهای سریع، به چه صورت است.
PowerBI را باز کرده، گزینه Get Data و بعد From Web را انتخاب کردم :
در مرحله بعد، آدرس این صفحه که حاوی جدول فریمورکها و زبانها بود را وارد کردم :
در مرحله بعد،لیست جداول موجود در صفحه نشان داده شد و از بین آنها، جدول Results را انتخاب کردم :
با انجام همین چند کلیک ساده، جدول فریمورکهای وب در PowerBI بارگذاری شد.
برای تحلیل دقیقتر، باید شماره نسخه را از جلوی زبانها حذف میکردم که بتوانم نمودارها یا جداول تحلیلی بعدی را روی خود زبان ( بدون نسخه) رسم کنم. با کلیک بر روی Query Editor وارد فضای ویرایش دادهها شدم و سپس روی ستون Language کلیک راست کرده، گزینه New Column from Example را انتخاب کردم. ستون جدیدی در انتهای لیست ستونها ایجاد شد که در ستون جدید ایجاد شده، جلوی گزینه Nim(1.0) عبارت Nim تایپ کردم و به سرعت تمام زبانها با حذف پرانتز در این ستون،کپی شد.
برای شروع، تعداد سطرها را از گزینه Keep Rows عدد ۱۰ انتخاب کردم، گزینه Apply&Close را زده و وارد بخش نمودارها شدم.
نمودار پایچارت اولیه برای ده فریمورک سریعتر به صورت زیر تولید شد :
همانطور که به خوبی دیده میشود، از بین ده فریمورک سریع وب، پنج مورد با Go
نوشته شده است. همین نمودار را برای پنجاه فریمورک سریعتر هم رسم کردم :
در بین پنجاه تای اول هم جایگاه اول به Go
و جایگاه دوم به Crystal
و جایگاه سوم به Javascript
اختصاص دارد. هنوز خبری از پایتون نیست….
نهایتاً در بین صد فریمورک سریعتر، به نتایج زیر میرسیم (هر چند برای انتخاب سریعترین معمولاً به ده تای اول بسنده میکنیم) :
تمام این نمودارها، برتری مطلق زبان Go
را نشان میدهد و زبان کریستال را هم به عنوان یک زبان نوپای آیندهدار، معرفی می کند.
امیدوارم این تحلیل سریع، دیدی مناسب به علاقهمندان این حوزه در انتخاب زبان و فریمورک مناسب در جاهایی که نیاز به سرعت و کارآیی بسیار بالا دارند، بدهد.
ممنون از مطلب بسیار خوبتون.
فعلا زیاد نمیشه به این ریپازیتوری مقایسه ارجاع داد، چون به عنوان مثال خبری از https://actix.rs نیست و بسیاری دیگر.
با شما موافقم اما چون هر کسی می تونه طبق استاندارد گذاشته شده، فریمورک مورد نظر خودش را بهش اضافه کنه، در درازمدت می تونه یک منبع خوب و فرنس مناسبی برای بررسی اولیه در این حوزه باشه .