توی گولنگ با کمک امکانات داخلی پکیج sync میتونید یه object pool داشته باشید. هدف اولیهش استفاده بهتر از مموری توی برنامههای گولنگی شماست.
استفادهش میتونه برای زمانی باشه که با ریت خیلی بالا آبجکتهایی از یه تایپ رو میسازید و رها میکند. یه sync.Pool میتونه به شما کمک کنه همون آبجکتی که رو که رها کردید بهتون برگردونه و دیگه نیاز نباشه GC حذفش کنه و دوباره allocateش کنید.
توضیحات بیشتر و نمونه کد رو اینجا بخونید.
https://www.codingexplorations.com/blog/creating-efficient-go-applications-with-syncpool
البته نظر شخصی من اینه که خیلی کاربرد خاصی داره و در اکثر موارد نباید استفاده بشه، به جاش یه allocator خوب داشته باشید (که گولنگ خودش داره) و حتما قبل از استفاده و پیچیده کردن کد، بنچمارک بگیرید.
Post #3147
2.4K