Bien souvent, les utilisateurs remarquent que le temps d'exécution d'une règle métier varie d'un environnement à l'autre ou lorsqu'elle est utilisée avec différentes invites d'exécution. La différence de temps d'exécution est toujours associée à la quantité de données (nombre de blocs, de cellules, etc.) que la règle traite.
Dans Calculation Manager, à la fin de l'exécution d'une règle métier sur un cube BSO, des messages de journal apparaissent dans un nouvel onglet. Vous pouvez exporter ces messages vers un fichier CSV pour les analyser et les comparer plus facilement. Les messages de journal contiennent une section Message d'information du calculateur comportant des informations semblables à ce qui suit :
Total Block Created: [XXXX] Blocks Sparse Calculations: [XXXX] Writes and [XXXX] Reads Dense Calculations: [XXXX] Writes and [XXXX] Reads Sparse Calculations: [XXXX] Cells Dense Calculations: [XXXX] Cells
Dans cet exemple, [XXXX] indique un nombre tel que 1.2600e+02. Pour convertir [XXXX] en nombres réels qui indiquent les calculs ainsi que les opérations de lecture et d'écriture effectuées sur les blocs et les cellules, procédez comme suit :
Total Block Created: [0.0000e+00] Blocks Sparse Calculations: [2.7760e+03] Writes and [4.4136e+04] Reads Dense Calculations: [0.0000e+00] Writes and [0.0000e+00] Reads Sparse Calculations: [1.1561e+08] Cells Dense Calculations: [0.0000e+00] Cells
Lors du reformatage de ces cellules, les valeurs 2.7760e+03
et 4.4136e+04
de la ligne Sparse Calculations: = [2.7760e+03] Writes and = [4.4136e+04] Reads
sont converties en nombres réels : 2776.000
et 44136.00
.
La raison peut être une modification de l'invite d'exécution, par exemple, la même règle peut devoir gérer plus de blocs et de cellules lors de deux exécutions sur le même processus. En règle générale, un calcul peut mettre plus de temps à s'exécuter s'il gère plus de blocs et de cellules. De même, les calculs qui entraînent des valeurs de lecture ou d'écriture supérieures mettent plus de temps à s'exécuter que ceux qui ont des valeurs inférieures.