Tengo un script que se ejecuta repetidamente y devuelve un resultado para cada fila de la tabla de datos.No se puede dividir en una operación para cada celda de la tabla, por lo que cada iteración devuelve un vector de resultados correspondiente a un valor para cada fila de la tabla de datos.
dt=current data table();
nr=n rows(dt);
result=J(nr, 1, .)
/*
script body assigns values to result vector
*/
result;
Necesito iterar esta operación cientos o miles de veces, y cada iteración toma alrededor de 0,5 segundos.Reúno todos los resultados devueltos en una matriz que luego se resumirá más.El orden de los resultados generados no importa.
Si esto pudiera ser paralelizado/multiproceso, se ejecutaría mucho más rápido.
Quiero usar la función Parallel Assign(), que tiene la sintaxis.Creo que lo que tengo que hacer es crear una variable global. matriz_resultado = [], páselo a la función local utilizada en Parallel Assign() y luego, al final de la expresión, agregue el resultado vector a la matriz_resultado.matriz_resultado tendrá no. filas y n_iteraciones columnas
</CODE></PRE>
<P>Alguna sugerencia sobre cómo hacer esto.En última instancia, lo que hay que hacer es calcular el resultado medio de cada fila en<STRONG> matriz_resultado</STRONG> para obtener un valor asignado para cada fila en la tabla de datos, es decir</P>
<PRE><CODE class=" language-jsl">final_result_vector = V Mean(results_matrix`);