gpt4 book ai didi

python - Python 中的内存问题。词典与数据库(或者你能把两者结合起来吗?)

转载 作者:太空狗 更新时间:2023-10-30 01:38:14 24 4
gpt4 key购买 nike

我正在尝试为大量输入寻找单词模式。为此,我使用了字典,几个小时后,程序因 MemoryError 而崩溃。

我修改了程序。我通过 MySQLdb 创建了一个数据库,并在其中插入了 pattern-index 的值。因此,对于每个单词,我检查它是否在索引中,如果不在,我将其写入带有值的索引中。问题是数据库方法太慢了。

我想知道是否有任何方法可以结合字典和数据库,例如:

if ram <90% usage:
seek into dict
append to dict
else:
if not (seek into dict):
seek into database
append to database

将字典用于输入 100 kb 数据的相同目的需要大约 1.5 秒

对相同的输入使用数据库需要大约 84 秒

原始输入为 16 GB。我还不知道需要多少时间来处理。

最佳答案

简答(详细答案待定):

您对 MySQL 的使用很差,您根本不想提交,因为您只是将数据库用作内存的扩展。仅删除提交应该会给您带来很大的改进

比使用 MySQL 使用更好 leveldb (pip install leveldb) with sync = false

根据您要使用的内存调整以下值

  • block_cache_size = 512*1024*1024 #512Mo #越重要
  • write_buffer_size = 10*1024*1024 #10Mo

因为你有一个 MemoryError,这意味着你有一个 32 位系统,这意味着为一个进程启用的总内存不能超过 4 Go,所以调整值以适应 min(你的系统内存,4Go)

关于python - Python 中的内存问题。词典与数据库(或者你能把两者结合起来吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22479640/

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