xander
xander
خواندن ۲ دقیقه·۱ سال پیش

نگاهی کوتاه به Bunjs

nodejs vs bunjs
nodejs vs bunjs


سلام به همه. امروز میخوام تو این نوشته یه بررسی خیلی کلی روی Bunjs داشته باشم.
اول که باید ببینیم این Bun.js چیه و چیکار میکنه.
اگه بخوام یه تعریف کلی از Bun.js بگم، میشه گفت: bunjs یه runtime برای کد های javascript هست برای اجرا کردن کد ها خارج از مرورگر.

حالا با توجه به اینکه runtime های مختلفی برای JavaScript وجود داره مثل Nodejs و Denojs چرا ما باید از Bunjs استفاده کنیم؟
طبق ادعایی که تو داکیومنت Bunjs شده اگه شما یه سرور با این پلتفرم داشته باشید، در ثانیه بیشتر از ۶۶۰۰۰
درخواست رو بهتون جواب میده و این در حالیه که Nodejs کم تر از ۱۴۰۰۰ درخواست رو در ثانیه جواب میده. همین برام جذاب شد که برم تست کنم ببینم داستان چیه و آیا این چیزا که میگن درست یا نه ( تو یه فیلی میگفت: این دروغا که میگی راسته؟)

تو قدم اول رفتم bunjs رو نصب کردم. نصبش خیلی خیلی راحت بود. فقط دستور زیر رو زدم و نصب شد:

curl -fsSL https://bun.sh/install | bash

وقتی نصب کامل شد فقط باید سیستم رو ری‌استارت کرد تا کامند bun توی ترمینال در دسترس باشه.
حالا یه سرور کوچیک با خود bun درست کردم.

توی تصویر زیر میتونید ببینید

bunjs server
bunjs server

برای این سرور خیلی ساده بیاید یه بنچ مارک بگیریم با ab . میتونید با این دستور یه بنچ مارک با ab بگیرید:

ab -k -c 350 -n 20000 127.0.0.1:3000/

نتیجه رو میتونید تو تصویر زیر مشاهده کنید:

تست سرعت پاسخ دهی bunjs
تست سرعت پاسخ دهی bunjs

به نظر خیلی جذاب میاد این آمار.
حالا بیاید یه سرور با express درست کنیم و این تست رو با Nodejs و Bunjs روی همون سرور بریم ببینیم داستان چیه. اون سرور خیلی کوچیک و ساده رو شما میتونید تو تصویر زیر ببینید:

یک سرور ساده با express
یک سرور ساده با express

همینجا باید این نکته رو بگم که نصب پکیج ها با استفاده از bun خیلی سریع تر از npm انجام میشه (البته هیچ اثباتی برای حرفم ندارم چون فقط دیدم خیلی سریع نصب شد) حالا بیاید نتیجه بنچ مارک رو ببینیم:

بنچ مارک bunjs
بنچ مارک bunjs

حالا بیاید همین تست رو برای همین سرور توی Nodejs بگیریم ببینیم داستان چیه. نتیجه تست رو میتونید توی تصویر زیر ببینید:

بنچ مارک nodejs
بنچ مارک nodejs

نتیجه خیلی جذابه. البته مقایسه این اعداد و ارقام رو به خودتون میسپارم.
حالا سواب اصلی اینه که آیا ما باید از bunjs استفاده کنیم یا نه؟ جواب به این سوال به نظرم خیلی سخته. ما نمیدونم آینده Bunjs قراره چی بشه یا نمیدونیم Bunjs قراره مثل Nodejs طرفدار های زیادی داشته باشه یا نه. من فقط میتونم بگم خیلی باحال بود استفاده کردن از Bunjs. البته که من هنوز توی پروژه های بزرگ و بلند مدت ازش استفاده نکردم اما همین چند تا پروژه کوچولو که باهاش زدم برام جذاب بود.

بنچ مارکسرورnodejsjavascript
گونه ای نادر و کم یاب از برنامه نویس‌ها
شاید از این پست‌ها خوشتان بیاید