ابزارهای هوش تجاریزبانهای تحلیل و مدیریت داده

تحلیل سریع رابطه زبان‌ برنامه‌نویسی و سرعت پاسخ‌گویی یک فریمورک

این هفته هنگامی که در جلسه مصاحبه یکی از نیروهای بک‌اند، نام فریمورک 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

با اولین نگاه چندین نکته برایم جالب بود :

  • اولین و سریعترین فریمورک (البته با فرضیات این بنچمارک) متعلق به زبان Nim بود
  • اکثر فریمورک‌های سریع با Go نوشته شده بودند
  • زبان Crystal هم درصد زیادی از این فریمورک‌های سریع را به خود اختصاص داده بود

تصمیم گرفتم این جدول و این نتایج را با پاوربی‌آی، تحلیل کنم و ببینم دقیقاً درصد زبان‌های تشکیل دهنده فریمورک‌های سریع، به چه صورت است.

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 را نشان می‌دهد و زبان کریستال را هم به عنوان یک زبان نوپای آینده‌دار، معرفی می کند.

امیدوارم این تحلیل سریع، دیدی مناسب به علاقه‌مندان این حوزه در انتخاب زبان و فریمورک مناسب در جاهایی که نیاز به سرعت و کارآیی بسیار بالا دارند، بدهد.

امتیاز کاربران: اولین نفری باشید که امتیاز می دهد!

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

۲ دیدگاه

  1. ممنون از مطلب بسیار خوبتون.
    فعلا زیاد نمیشه به این ریپازیتوری مقایسه ارجاع داد، چون به عنوان مثال خبری از https://actix.rs نیست و بسیاری دیگر.

    1. با شما موافقم اما چون هر کسی می تونه طبق استاندارد گذاشته شده، فریمورک مورد نظر خودش را بهش اضافه کنه، در درازمدت می تونه یک منبع خوب و فرنس مناسبی برای بررسی اولیه در این حوزه باشه .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا