Gopher Academy
3.84K subscribers
932 photos
42 videos
280 files
2.19K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
Forwarded from Go Casts 🚀
دوستان باور کنید اگه این مقاله رو نخوندید، عملا هیچی در مورد Memory Model نمیدونید 😁

https://research.swtch.com/hwmm

توضیحات: آقای Russ Cox از اعضای اصلی تیم توسعه دهنده زبان Go هستن

این مقاله قسمت دوم و سوم هم داره، اما حتما قسمت اول رو بخونید
مقاله بسیار فنی و جذابه و باید حوصله کنید برای خوندنش

مقاله اول و دوم مقدمه ای هستن برای مقاله سوم که توضیح میده چرا و چطور Go Memory Model بروزرسانی شده

قسمت دوم
https://research.swtch.com/plmm

قسمت سوم
https://research.swtch.com/gomm


#memory_model #golang #russ_cox

@gocasts
این مطلب یک نگاه کامل و توضیحات مصور درباره Redis و انواع توپولوژی‌ها و ذخیره اطلاعات در آن دارد.

#redis #database #dive #image #comic #explain #simple #topology #data #persistent #process #forking #fork #cache #memory

https://architecturenotes.co/redis


🔰 @gopher_academy
👍61
🔵 عنوان مقاله
How We Saved 70% CPU and 60% Memory in Refinery’s Go Code

🟢 خلاصه مقاله:
**تیم Refinery روی یک سرویس مهم مبتنی بر Go با مصرف بالای CPU و Memory کار می‌کرد و با پروفایلینگ دقیق (pprof، tracing و بنچمارک‌های انتهابه‌انتها) گلوگاه‌های واقعی را پیدا کرد. بیشترین صرفه‌جویی با حذف کارهای غیرضروری به‌دست آمد: حذف پردازش‌ها و serialization تکراری، دوری از reflection در مسیرهای داغ، جایگزینی JSON در hot path با دسترسی مستقیم/کدگذاری ساده، پیش‌اختصاص slices/maps و بازاستفاده از بافرها برای کاهش allocation و فشار GC. در هم‌روندی، به‌جای goroutineهای بدون‌مهار، از worker poolهای محدود و backpressure استفاده شد، کارها batch و داده‌ها تا حد امکان stream شدند تا قفل‌زنی و جابه‌جایی زمینه کاهش یابد. همچنین چند حلقه O(n^2) با ایندکس‌گذاری مبتنی بر map/set جایگزین شد، نتایج گران با cache کردن تکرار نشد و الگوهای I/O با خواندن/نوشتن تجمیعی بهینه شدند. در نهایت با تکیه بر allocationهای روی stack، استفاده از sync.Pool و روش‌های zero-copy، نیاز به GC پایین آمد. نتیجه: حدود 70% کاهش مصرف CPU و 60% کاهش Memory همراه با بهبود تاخیرهای p95/p99. درس کلیدی: بهینه‌سازی اغلب یعنی کمتر کار کردن—اندازه‌گیری کن، کار زائد را حذف کن و ساده‌سازی را تکرار کن.

#Go #Golang #Performance #Profiling #CPU #Memory #Optimization #pprof

🟣لینک مقاله:
https://golangweekly.com/link/176624/web


👑 @gopher_academy
👍21