2017-10-06 5 views
1

Je construis un simulateur d'allocation de mémoire en C. J'ai implémenté trois algorithmes: First-Fit, Best-Fit et Worst-Fit.Graphique de tracé basé sur struct data (C)

Pour chaque cycle d'horloge (juste un compteur int démarré en 0), je recueille des informations sur% de mémoire utilisée, combien de processus attendent, etc. Toutes les informations sont stockées dans une liste de métriques, il y a une liste par algorithme (ff, bf, wf) METRICS m * [3] (l'index 0 vous amène à la liste ff des métriques, index 1 bf liste des métriques et ainsi de suite).

l'exemple du noeud de métrique de la liste:

typedef struct _metrics { 
    int cycle, n_holes, n_waiting, fails; 
    float hole_size_med, memory_usage; 
    struct _metrics *next; 
} METRICS; 

Après cela. Ce que je veux, c'est tracer un graphique comparatif entre les trois algorithmes dans chaque métrique stockée dans les trois listes de métriques. Qu'est-ce qu'un moyen simple de faire cela?

Je ne parle pas vraiment anglais, donc je suis en train de mon mieux ...

J'utilise Linux Mint.

+2

Envisagez d'utiliser [gnuplot_i] (http://ndevilla.free.fr/gnuplot/) si cela fonctionne sur votre plate-forme (vous devez mentionner votre plate-forme cible!). –

+0

Ce qu'il a dit. À moins que vous ayez vraiment, vraiment besoin d'inclure le tracé dans votre programme, ayez les données de sortie dans un format qu'un utilitaire de traçage bien établi comme 'gnuplot' peut lire. –

+0

Je vais essayer le gnuplot. –

Répondre

0

J'utilise gnuplot interfaces in ANSI C:

gnuplot est un outil d'affichage graphique, piloté par commande disponible gratuitement

Il est disponible sous Unix, Linux Mint ainsi serait un match.

+1

A droite, je vais essayer avec le gnuplot. Merci à tous. –