2009-03-13 4 views
2

La plupart des juges en ligne disposent d'un système permettant de mesurer le temps d'exécution et la consommation de mémoire. Un exemple est montré here. Comment est-il fait? Existe-t-il un utilitaire UNIX simple que je peux utiliser pour exécuter des tests similaires sur mes propres programmes?Mesure du temps d'exécution et de la mémoire utilisée

+0

langage de programmation? –

+0

Je travaille en C et en Python. Il semble que la mesure utilisée par ce site particulier soit un langage de programmation agnostique. – yuriel

Répondre

2

Valgrind avec tous ses outils vous donnera quelques informations:

  • cachegrind - un simulateur de cache
  • callgrind - appel graphique - Modalité permet d'obtenir le coût des appels et de montrer ce qui se passe dans votre programme
  • massif - informations sur l'utilisation de la mémoire de tas
  • memcheck - fuite de mémoire de vérification

En outre, vous pouvez utiliser des logiciels plus sophistiqués, tels que Intel VTune.

Si vous êtes intéressé par les détails de bas niveau et par les véritables compteurs de matériel, jetez un coup d'œil au perfmon2 qui a quelques chances d'entrer dans le noyau principal quelque temps dans le futur.

Et rechercher les anciennes questions - il ya beaucoup de messages sur ce sujet.

1

La commande UNIX time affiche la quantité d'heure utilisateur, l'heure système et certaines statistiques de la mémoire. La version Linux peut être trouvée here et inclut des chaînes de mise en forme qui vous permettent de spécifier la sortie exacte.

1

La dernière fois que j'ai eu besoin de profiler un programme Unix, j'ai utilisé gcc et gprof. Cela m'a donné l'information dont j'avais besoin.

Questions connexes