Linked Array, suite

View previous topic View next topic Go down

Linked Array, suite

Post  Yann on Thu 8 May - 1:49

Une mesure de performances est venue confirmer l'analyse d'hier : l'usage des Linked Array est plus rapide que les maps de binaires.

La lecture d'un champ sur un binaire, à partir d'une table préchargée (par un nom de variable), prend environ 2.5/2.6 secondes pour une centaine d'appels. On notera que finalement, la position de la variable dans le champ a peu d'importance, ce qui prouve que le "shift" (traitement d'extraction du binaire) est moins important que l'appel de variable lui-même.

La même lecture sur un Linked Array en passant par une couche d'abstraction prend 2 secondes, soit environ 25% plus rapide. Par un appel direct à la procédure de traitement, c'est 1.6 secondes, mais le code devient alors "spécifique".

Noter que ces tests sont effectués en lecture, le cas le plus rapide pour l'adversaire du Linked Array. Pour l'écriture, en revanche, compte tenu du chargement de map, ce sera probablement la bérésina, avec des temps très réduits pour les binaires, mais peu affectés pour le Linked Array.

Bref, en conclusion, le Linked Array est rapide, mais l'appel de variable globale coûte une grande partie si ce n'est l'essentiel des performances. Si le Linked Array est déjà en pile, il est plus que probable que le traitement sera encore plus rapide.

On peut généraliser l'idée, en pensant à un tableau unique situé sur la pile avec toutes les données du monde, et qui serait systématiquement utilisé par les appels de variables. Ce serait probablement la façon la plus efficace d'utiliser le Linked Array, mais coûterait une notable ré-écriture du code.

Pour l'instant, on va donc se contenter de ré-écrire les couche basses d'accès aux données, concrétisant un gain de vitesse et de place de 20% au minimum, et permettant de voir encore plus loin...

Yann
Admin

Number of posts : 174
Registration date : 2008-05-01

http://phantasie.tonempire.net

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum