python模块stu

2024-03-28 16:18:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了一个python模块(带有boost::python),它在某个点上创建了一些大型对象的数组(2dvector)。对象的总大小大约为几Gb。开始执行程序时,它挂起/锁定在数组初始化的位置:

// my_object.h
class my_object{
   public:
   my_object(n){  create a bunch of 2D arrays (double, int, etc.) of size n x n }
};

// extension.cpp
vector<my_object> arr(t,my_object(n)); // t is big, n is big

如果我减少参数t,特别是n,程序运行得很好。所以在python模块中初始化大对象数组的效率和可能性似乎都有问题。顺便说一句,我有足够的内存来存储这样一个大的数组(保留20gb或pbs脚本中的内存,这些都是集群计算),所以问题很难是因为内存(在这种情况下,我得到了明确的消息,它是足够的内存)。我怎样才能克服这样的问题?先谢谢你。你知道吗


Tags: 模块of对象内存objectismycreate