gpt4 book ai didi

python - 加快读取多个pickle文件

转载 作者:行者123 更新时间:2023-12-04 11:11:46 25 4
gpt4 key购买 nike

我有很多泡菜文件。目前我循环阅读它们,但这需要很多时间。我想加快速度,但不知道如何做到这一点。
多处理不起作用,因为为了将数据从子进程传输到主进程数据需要序列化(腌制)和反序列化。
由于 GIL,使用线程也无济于事。
我认为解决方案是一些用 C 编写的库,它需要读取文件列表,然后运行多个线程(没有 GIL)。周围有这样的东西吗?
更新
回答您的问题:

  • 文件是用于 ML 的数据处理的部分产品
  • pandas.Series对象,但 dtype 事先未知
  • 我想要很多文件,因为我们想轻松选择任何子集
  • 我想要许多较小的文件而不是一个大文件,因为一个大文件的反序列​​化需要更多的内存(在某个时间点我们已经序列化了字符串和反序列化对象)
  • 文件的大小可能会有很大差异
  • 我使用 python 3.7 所以我相信它实际上是 cPickle
  • 使用 pickle 非常灵活,因为我不必担心底层类型 - 我可以保存任何东西
  • 最佳答案

    我同意评论中指出的内容,即由于 python 本身的约束(主要是 GIL 锁,正如您所指出的),并且可能没有比您现在正在做的更快地加载信息。或者,如果有一种方法,它可能既是高度技术性的,而且最终只会给您带来适度的速度提升。
    也就是说,根据您拥有的数据类型,使用 quickle 可能会更快。或 pyrobuf .

    关于python - 加快读取多个pickle文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66348333/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com