2514_fr-FR
Performance JMPJ'essaye de passer par un fichier de données (dt1) qui a environ 10 000 lignes. J'ai une boucle FOR qui va de 1 à NROW (dt1). Il semblait être en suspens alors j'ai mis dans un tas de déclarations SHOW pour voir ce qui se passait. Après avoir traité environ 2 000 enregistrements, aucune autre instruction show n'a été affichée dans le journal. J'ai décidé d'attendre et, après environ 10 minutes, le script s'est terminé et les autres instructions de SHOW ont été insérées dans le journal.
Est-ce que quelqu'un sait pourquoi, après environ 6000 shows, JMP a l'air de ne rien faire? Existe-t-il un paramètre que je peux définir pour conserver les instructions SHOW?
MerciRe: JMP PerformanceVous obtiendrez peut-être de meilleures performances si vous chargez des colonnes dans des tableaux, puis traitez les tableaux. Mais ce n'est pas toujours le cas, donc caveat emptor.
my_list = column (dt, "mycolumn") << obtenir des valeurs;
En ce qui concerne votre problème, essayez de mettre une attente (0); déclaration après la commande SHOW. Cela forcera JMP à vider une sorte de tampon.
Ou, vous pouvez utiliser la déclaration de légende, comme:
légende ("Ligne de traitement" || car (i));
attendez (0);
Bonne chance!Re: JMP PerformancePour les itérations exécutées rapidement, il est possible que la fenêtre de journal ne parvienne pas à se mettre à jour en permanence. Vous pouvez insérer Wait (0) après chaque Show () pour que le journal soit correctement mis à jour. Cependant, les commandes Show () et Wait () ralentiront l'exécution bien sûr.
Dix minutes, c'est long. Difficile de dire ce qui pourrait ralentir les choses sans plus d'informations sur le type de calcul. Vous pouvez essayer d'augmenter la RAM disponible ou, si possible, écrire un code plus efficace pour améliorer les performances.Re: JMP PerformancePlutôt que d'afficher une légende à chaque itération, essayez de l'afficher toutes les 100 fois via une instruction mod
si (mod (i, 100) = 0,
légende ("Ligne de traitement" || car (i));
attendez (0);
)
Pouvez-vous nous donner une idée des calculs que vous faites? Cela peut nous aider à résoudre l'énigme.
J'ai eu récemment un cas où je parcourais une table et construisais plusieurs listes à partir des données. Il est apparu que les tables plus grandes augmentaient le temps de traitement de manière exponentielle. J'ai enfin compris (à partir d'un précédent article) que JMP va infiniment plus vite si vous insérez de nouvelles valeurs dans une liste au début, plutôt qu'à la fin. Le traitement d'une table de 21 000 lignes est passé de 34 minutes à 15 secondes!
Bonne chance!
PeterRe: JMP PerformanceJ'ai dû m'éloigner de cela pour résoudre d'autres problèmes ... mais je suis de retour en essayant de comprendre ce qui se passe ...
J'essaie de parcourir plus de 10 000 enregistrements dans un fichier de données JMP. Il existe plusieurs instructions if qui utilisent les fonctions LENGTH et INDEX. Il y a quelques variables de comptage de haricots. rien de compliqué!
par frustration, j'ai modifié les paramètres de la boucle FOR, pour ne regarder que les lignes 10585 à 10590. Je n'ai jamais eu aucune des instructions show à afficher dans le journal, et après 5 minutes, j'ai tué le travail.
Pouvez-vous me donner le lien vers l'appendice auquel vous avez fait référence à propos des temps d'exécution exponentiellement longs pour les gros fichiers?Re: Performance JMPExaminez le problème de câble JMPer suivant, dans la section Conseils et techniques:
http://www.jmp.com/about/newsletters/jmpercable/pdf/20_summer_2006.pdf
Cordialement,
Peter
Comments
There are no comments yet