Bonjour,
J'ai créé un plugin pour un logiciel, et dans mon code, j'utilise un buffer d'objets.
Je suis obligé d'utiliser un buffer car il doit être envoyé sous cette forme au logiciel hôte.
Chacun des objets de ce buffer a une taille de 32 octets et le buffer est de l'ordre de 10.000 objets.
Actuellement, j'utilise donc un vecteur d'objets.
Ce buffer doit etre envoyé trié au logiciel hôte, actuellement, j'insere donc à la bonne position les objets au fur et à mesure de leur création.
Ja précise que le nombre d'insertion dans le buffer est tres petit devant le nombre d'envoit de ce buffer à l'hôte.
Etant donné que toutes les performances de mon code reposent sur ce buffer (il est lu pratiquement en permanence) je souhaite optimiser l'insertion des objets.
Comment procéder ?
Je pensais à allouer deux buffer, et lors de l'insertion :
1/ copier ce qui est avant l'objet à inserer d'un buffer vers l'autre
2/ inserer l'objet dans le nouveau buffer (à la fin donc)
3/ copier ce qui est après l'objet à inserer d'un buffer vers l'autre
4/ utiliser le nouveau buffer
ou alors :
1/ decaler de 32 octets toute le mémoire du buffer qui est après la position d'insertion
2/ inserer les données à la position nouvellement libérée
Qu'en pensez-vous ?
D'autres idées ?
Y-a-t-il moyen de tirer parti du fait que les objets fonts exactement 32 octets ?
Merci !
Partager