خیلی performance برات مهمه؟ پس احتمالا خوندن این مطلب برات جذاب باشه.
بخشی از کتاب «Efficient Go» رو میخوندم، دقت کنید به کلمه «Efficient» که به معنی «کارآمد» یا «اثربخش» هست. کارآمد بودن لزوما به معنی سریع بودن نیست، لزوما به معنی کمترین مصرف منابع نیست، لزوما به معنی مقیاس پذیر بودن نیست.
خیلی از دیدگاه نویسنده خوشم اومد که تلاش میکنه مخاطب رو تشویق کنه که «نرم افزار کارآمد» بنویسه.
نویسنده معنای software performance رو «how well software runs» یا «به چه میزان نرم افزار خوب کار میکنه» میدونه و سه تا آیتم اصلی رو در نظر میگیره به عنوان اجزای performance که یکی «accurace» هست، یکی «speed» و یکی هم «efficiency».
که accuracy رو میشه نسبت به میزان خطاهای سیستم سنجید. و speed هم میتونه latency یا throughput باشه.
نویسنده efficiency رو نسبتی از بهینگی مصرف منابع در مقایسه با منابع اختصاص یافته میدونه. مثلا فرض کنید که برای خوندن ۶۴ بایت دیتای ارزشمند، نرم افزار شما ۴۲۰ بایت از حافظه RAM رو اشغال کنه، در این صورت بهینگی شما ۱۵ درصد هست.
البته نویسنده اشاره میکنه که efficiency یا کارآمدی تک بعدی نیست و میزان زمان cpu و ابعاد دیگه هم بسته به نوع تسک و کار انجام شده باید در نظر گرفت.
همچنین نویسنده میزان performance رو چنین فرمولی در نظر میگیره:
performance = (accuracy * efficiency * speed)
و میگه که بهبود هر کدوم از آیتم های ذکر شده به بهبود performance کمک میکنه و میتونه reliability, availability, resiliency, overall latency رو بهبود بده.
Efficient Go
https://www.oreilly.com/library/view/efficient-go/9781098105709/
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.me/gocasts/515
@gocasts
#golang #performance #efficiency
Post #535
3.92K
Go Casts | Systems & Agents 🚀 تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
- 👍 17
- 🔥 7
- 👏 1