|
|
|
|
|
by adsharma
90 days ago
|
|
Thank you for the shout out! I looked into your benchmark setup a bit. Two things going on: - Ladybug by default allocates 80% of the physical memory to the buffer pool. You can limit it. This wasn't the main reason. - Much of the RSS is in ladybug native memory connected to the python connection object. I noticed that you keep the connection open between benchmark runs. For whatever reason, python is not able to garbage collect the memory. We ran into similar lifetime issues with golang and nodejs bindings as well. Many race conditions where the garbage collector releases memory while another thread still has a reference to native memory. We now require that the connection be closed for the memory to be released. https://github.com/LadybugDB/ladybug/issues/320
https://github.com/LadybugDB/go-ladybug/issues/7
https://github.com/LadybugDB/ladybug-nodejs/pull/1
|
|