J'ai un script qui s'exécute à plusieurs reprises et renvoie un résultat pour chaque ligne de la table de données.Je ne peux pas être décomposé en une opération pour chaque cellule du tableau, donc chaque itération renvoie un vecteur de résultats correspondant à une valeur pour chaque ligne du tableau de données.
dt=current data table();
nr=n rows(dt);
result=J(nr, 1, .)
/*
script body assigns values to result vector
*/
result;
J'ai besoin d'itérer cette opération des centaines ou des milliers de fois, et chaque itération prend environ 0,5 seconde.Je rassemble tous les résultats renvoyés dans une matrice qui sera ensuite résumée plus en détail.L'ordre des résultats générés n'a pas d'importance.
Si cela pouvait être parallélisé/multithread, il fonctionnerait beaucoup plus rapidement.
Je veux utiliser la fonction Parallel Assign(), qui a la syntaxe.Je pense que ce que je dois faire est de créer une variable globale result_matrix = [], transmettre cela à la fonction locale utilisée dans Parallel Assign() puis à la fin de l'expression ajouter le résultat vecteur à la result_matrix.result_matrix aura nr rangées et n_itérations Colonnes.
</CODE></PRE>
<P>Toutes les suggestions sur la façon de le faire.En fin de compte, ce qu'il faut faire est de calculer le résultat moyen pour chaque ligne dans<STRONG> result_matrix</STRONG> pour obtenir une valeur assignée pour chaque ligne de la table de données, c'est-à-dire</P>
<PRE><CODE class=" language-jsl">final_result_vector = V Mean(results_matrix`);