Thank for your help.
I have try to follow your suggestion but I seem to fail.
Now my C-module (call it C_Core) code is:
*************** *************** *************** **
/* create_list function */
int size=10000000;
output=(double *) calloc(size, sizeof(double)) ;
py_output=PyLis t_New(0);
for(i=0; i<size; i++){
tmp=PyFloat_Fro mDouble(output[i]);
PyList_Append(p y_output, tmp);
Py_DECREF(tmp); // append adds a reference
}
free(outout);
return py_output;
*************** *************** *************** *
with del statement all memory is relased, but I have a malformed list.
In python shell:
# Call C function an create a list
alfa=C_Core.cre ate_list()
# check the list
len(alfa)
10000000
# OK
alfa[1]
Segmentation fault
On the other size your last option with
PyList_SET_ITEM (py_output, tmp) statement
is quick, but I have still memory problem.
Any idea?
Thank a lot
marco
I have try to follow your suggestion but I seem to fail.
Now my C-module (call it C_Core) code is:
*************** *************** *************** **
/* create_list function */
int size=10000000;
output=(double *) calloc(size, sizeof(double)) ;
py_output=PyLis t_New(0);
for(i=0; i<size; i++){
tmp=PyFloat_Fro mDouble(output[i]);
PyList_Append(p y_output, tmp);
Py_DECREF(tmp); // append adds a reference
}
free(outout);
return py_output;
*************** *************** *************** *
with del statement all memory is relased, but I have a malformed list.
In python shell:
# Call C function an create a list
alfa=C_Core.cre ate_list()
# check the list
len(alfa)
10000000
# OK
alfa[1]
Segmentation fault
On the other size your last option with
PyList_SET_ITEM (py_output, tmp) statement
is quick, but I have still memory problem.
Any idea?
Thank a lot
marco