Je les documents suivants:Performance: Comparer les enregistrements d'un tableau de tranches?
type Items is
record
Feature_A : Type_Feature_A;
Feature_B : Type_Feature_B;
Feature_C : Type_Feature_C;
Feature_D : Type_Feature_D;
end record;
type My_Array is array (1 .. 10) of Items;
type My_Record is
record
Count : Integer;
Item_Arr : My_Array;
end record;
avec lesquels je travaillais le type My_Record, par exemple, je CONSERVE 8 éléments dans le tableau et je veux extraire les articles 2 par 2.
Pour ce faire, je ont déclaré une fonction qui copie les 2 premiers éléments du tableau à un sous-type de my_array et décrément « Count » par 2. Puis je tartine « Item_Arr »:
Item_Arr(1..8) := Item_Arr(3..10);
Item_Arr(9..10) := Default_Value;
Ma question est: est-ce la bonne façon de fais ça? Ou il vaudra mieux faire une boucle sur les éléments et chaque fois que j'ai trouvé un élément différent de la 'Default_Value' je l'ai ajouté au tableau de sortie et ainsi de suite.
En termes de performances, la comparaison des enregistrements est plus rapide que la découpe d'une matrice?
Merci
Il est préférable d'utiliser une tranche de matrice variable en faisant varier les indices et en laissant les données en place plutôt que de copier l'ensemble de la matrice. –