Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 内存使用/内存占用潜在问题_Perl - Fatal编程技术网

Perl 内存使用/内存占用潜在问题

Perl 内存使用/内存占用潜在问题,perl,Perl,因此,我需要存储大约8GB的信息来迭代/用于计算;但是,我不需要修改任何内容。我可以在perl脚本中执行此操作,还是会耗尽内存(我有8GB的RAM)。如果没有,我可以将信息存储在文件中吗?我是否需要将所有内容都放在数据库中(注意:我没有数据库经验,现在想避免使用它们,除非我绝对不能以任何其他方式使用)?对于每个计算,我需要迭代大约1GB的“句子”的子集。对于每个“句子”,我需要导出一个数量,然后比较所有这些数量以得到顶部的X% 提前谢谢 编辑:其他人将不会使用此数据。只有一个程序需要访问数据。安

因此,我需要存储大约8GB的信息来迭代/用于计算;但是,我不需要修改任何内容。我可以在perl脚本中执行此操作,还是会耗尽内存(我有8GB的RAM)。如果没有,我可以将信息存储在文件中吗?我是否需要将所有内容都放在数据库中(注意:我没有数据库经验,现在想避免使用它们,除非我绝对不能以任何其他方式使用)?对于每个计算,我需要迭代大约1GB的“句子”的子集。对于每个“句子”,我需要导出一个数量,然后比较所有这些数量以得到顶部的X%

提前谢谢


编辑:其他人将不会使用此数据。只有一个程序需要访问数据。安全不是问题,但速度是问题。我将使用分叉或线程进行并行化。我可以使用Windows或Linux

这听起来是一个很好的应用程序,它允许将文件用作数组

根据文件:

该文件未加载到内存中,因此即使是大型文件也可以使用


很好,这似乎正是我在文档存储方面所需要的;然而,我仍然需要计算不同文件中数百万行的相似性,将它们进行比较,并取前X%。有什么建议吗?我想我可以把所有的数量写进一个文件,并对每个数量的来源进行描述,但我需要对它们进行排序,然后取顶部的X%,并对该子集进行处理。有什么建议吗?如果速度是个问题,那么可能是个问题。我建议您使用此解决方案运行,看看它是否足够快。您所说的“此解决方案”是什么意思?如果您指的是试用Tie:File,请参阅我上面的评论。我仍然不知道该如何处理这一评论的后半部分。谢谢。是的,对不起,我的意思是你应该试试
Tie::File
,看看它是否足够快。我还不清楚你的问题。你比较的这些数量是多少?如果每个值都是一个数值,那么您可以将它们存储在一个Perl数组中并在那里进行排序。这是一个离题的问题,我建议你写一个新的问题来详细描述这个问题。这个句子的子集是一个连续的序列,还是源数据的随机选择?所有的线程都会使用相同的子集吗?所以,我基本上有一大堆相关的句子。我需要检查每一组,计算每个句子的数量。一旦我有了所有这些值,我需要取前X%。我打算设置不同的线程/进程来处理每组的计算。