2009-06-12 7 views
2

Tous, J'ai besoin d'une pile haute vitesse sur une plate-forme .Net CF (puce ARM). Est-ce que quelqu'un sait si les classes de file d'attente standard (gérées) fonctionnent assez bien pour ce que je décris ci-dessous? Quelqu'un a-t-il une idée de la vitesse à laquelle ils sont? Si je n'utilise pas les classes de mémoire gérées, que dois-je utiliser? La pile aura besoin d'une taille maximale (en mégaoctets ... 10 ou 20 ... donc la mémoire sur le tas, probablement?) Et les éléments poussés sur la pile signifieront des éléments plus anciens sur la pile maintenant au-delà de la taille maximale va sauter (je me fiche des anciennes données). La puce de bras proposée est une bonne ... mais je regarde environ 5 mégaoctets par seconde..Net 3.5 CompactFramework Stack

La pile, une fois remplie, sera lue sur une base premier entré premier sorti (FIFO) (dans ce sens, il s'agit d'une file d'attente).

Et je dois être capable de jeter un coup d'œil dans la pile pour aller chercher des copies des blocs de données.

Il agit comme un tampon (pour les 2 dernières secondes de données) jusqu'à ce que l'utilisateur déclare un intérêt lorsque les données sont enregistrées pour la postérité ...

Merci!

Aidanapword

Répondre

2

La file d'attente générique standard est assez rapide. Il n'y a aucun moyen pour nous de vous dire si c'est assez rapide pour vos besoins, car nous n'avons aucune idée de ce que votre matériel sera capable de faire ou du type de données que vous utiliserez. Si elles ne sont pas assez rapides (vous devrez tester cela sur votre matériel cible réel), alors je chercherais probablement à faire une implémentation de tampon circulaire personnalisée en utilisant un fichier mappé en mémoire. Vous n'allez pas obtenir plus vite que ça.