actually, change it to models = models[0:0], not models=models[0:0:0], otherwise you are causing new arrays to be allocated on each loop.
> On Aug 26, 2024, at 10:45 AM, robert engels <reng...@ix.netcom.com> wrote: > > It is working as expected. You allocate models to hold 10k elements - you > never put more than 10k elements in it, so it will not consume additional > memory. (You should probably make the comparison == 10000, not > 10000 to > avoid the extra array allocation. > > GC is non deterministic - so it will only free memory if/when it needs to. I > would perform a heap dump to understand exactly what is consuming the memory > if it is continually increasing - I suspect it may be in the MongoDB driver - > or it is just dead objects waiting to be collected. > >> On Aug 26, 2024, at 8:24 AM, Gowtham Raj <rgowtham...@gmail.com >> <mailto:rgowtham...@gmail.com>> wrote: >> >> Hello team, >> >> MongoDB Go bulk write takes up an slice of interfaces which is slice of >> operations. >> https://go.dev/play/p/2vcHx5EFK5x <https://go.dev/play/p/2vcHx5EFK5x> >> While doing so I create a empty slice and add operations to it. When the >> length of slice is > 10K, I do a bulk write to DB. >> >> The problem here is this script eats more memory as it runs, I suspect issue >> is with the slice which gets appended periodically. I try to reset the slice >> but it never gets freed up. Alloc in runtime.MemStats grows to 1 GB >> immediately within 1 minute. >> >> Any idea as to who to release the memory of slice every 10k docs ? >> The length and cap of slice goes back to zero, but GC does not clean it up. >> Not sure if since its in the for loop the variable is still being referenced. >> How do solve this problem ? >> Regards, >> Gowtham >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com >> <mailto:golang-nuts+unsubscr...@googlegroups.com>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/0be9320a-e004-49b0-a88f-79158c1ed0d2n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/0be9320a-e004-49b0-a88f-79158c1ed0d2n%40googlegroups.com?utm_medium=email&utm_source=footer>. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/F521F794-A29B-4807-99C6-787EF5163A40%40ix.netcom.com.