Je ne sais pas comment répondre à votre question. Vous semblez vouloir que nous écrivions un programme de référence que vous pourriez facilement écrire vous-même. Au lieu de cela, je me contenterai d'énoncer ceci :
- Avec un
list
chaque élément que vous poussez entraîne une allocation de mémoire.
- Avec un
deque
de grands blocs sont alloués en une seule fois.
Étant donné que l'allocation de la mémoire est normalement lente, je m'attendrais à ce que la fonction deque
pour surpasser la liste.
Si vous poussez ou éjectez de nombreux éléments à la fois, cela sera particulièrement vrai, car la localité de la mémoire cache entre en jeu.
Bien sûr, vous pouvez écrire un allocateur sur la liste pour utiliser un pool de mémoire. Vous obtiendriez alors de meilleures performances.
Alors, avec ces hypothèses à l'esprit, partez et mesure et si vous voulez discuter des résultats, c'est le moment de poser une question.