对python来说很新-polars。在内存使用方面,它与Rs {data.table}包相比如何?它如何处理浅层复制?是否可以就地/按引用更新/是否为默认值?最近有没有关于大的4 in-mem数据库内存效率的基准测试(polars vs data.table vs pandas vs dplyr)?
polars
{data.table}
mv1qrgav1#
它如何处理浅层复制?Polars内存缓冲区是引用计数的写时拷贝。这意味着你永远不能在两极中进行完整的数据拷贝。是否可以就地/按引用更新/是否为默认值?不,必须重新分配变量。在引擎盖下,polars可以重用内存缓冲区,但这对用户不可见。最近有没有关于内存效率的基准测试它与内存使用的关系也与设计差异无关。Polars目前正在开发一种核心外引擎。此引擎不处理内存中的所有数据,但将从磁盘流式传输数据。该引擎的设计理念是使用所需的尽可能多的内存,而不去OOM。未使用的内存,就是浪费潜能。
1条答案
按热度按时间mv1qrgav1#
它如何处理浅层复制?
Polars内存缓冲区是引用计数的写时拷贝。这意味着你永远不能在两极中进行完整的数据拷贝。
是否可以就地/按引用更新/是否为默认值?
不,必须重新分配变量。在引擎盖下,polars可以重用内存缓冲区,但这对用户不可见。
最近有没有关于内存效率的基准测试
它与内存使用的关系也与设计差异无关。Polars目前正在开发一种核心外引擎。此引擎不处理内存中的所有数据,但将从磁盘流式传输数据。该引擎的设计理念是使用所需的尽可能多的内存,而不去OOM。未使用的内存,就是浪费潜能。