Giter Club home page Giter Club logo

benchmark's Introduction

Benchmark

Introduction

Ce projet contient des benchmarks des appels systèmes Unix qui sont intéressants d'un point de vue didactique. Ils sont utilisés par le cours SINF1252 donné à l'UCL par le professeur Olivier Bonaventure.

Ils ont été écrits par Maxime De Mol, Nicolas Houtain et Benoît Legat avec l'aide d'Oliver Bonaventure.

Ils utilisent l'outil perf pour analyser différents conteurs ainsi que gnuplot pour afficher les benchmarks.

Le projet est constitué

  • d'un dossier lib contenant des petites librairies statiques développées pour le projet ainsi que divers scripts;
  • ainsi qu'un dossier par benchmark. Le résultat du benchmark est affiché dans une page html qu'on peut obtenir en lançant make show-html dans le dossier correspondant.

Documentation

La documentation se trouve ici mais elle peut être générée à l'aide de Doxygen ainsi

$ doxygen Doxyfile

Il suffit alors d'ouvrir doc/html/index.html pour voir la documentation.

Compilation

Commencez par vous assurez que vous avez les dépendances nécessaires

$ sudo apt-get install build-essential dh-autoreconf gnuplot

Il est nécessaire d'avoir un gnuplot récent (4.2 est trop vieux, 4.6 marche bien). Si vous êtes sur une des machines des salles, il vous faudra donc l'installer from source (voir plus loin).

Pour générer les Makefile nécessaires à la compilation à partir des Makefile.am, exécutez

$ git clone https://github.com/blegat/benchmark.git
$ cd benchmark
$ ./bootstrap.sh

Ça va non seulement générer un Makefile à la racine qui compile les librairies et tous les benchmarks mais aussi un Makefile dans le dossier lib qui compile les librairies et un dossier dans chaque dossier de benchmark qui peut compiler le benchmark mais aussi l'exécuter et générer et afficher une page html à l'aide make show-html.

Par exemple, pour essayer le benchmark io, faite suivre ce ./bootstrap.sh par

$ cd io
$ make show-html

Utiliser gnuplot from source

Assurez-vous d'installer libgd2-xpm-dev pour avoir le support de png dans gnuplot

$ sudo apt-get install libgd2-xpm-dev

puis téléchargez et installer le (./configure devrait trouver libgd et activer le support de png pour gnuplot)

$ wget http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.5/gnuplot-4.6.5.tar.gz
$ tar xzvf gnuplot-4.6.5.tar.gz
$ cd gnuplot-4.6.5
$ ./configure
$ make

Si vous n'avez les droits root sur la machine (c'est le cas si vous êtes sur une machine des salles), vous ne pourrez pas l'installer, et il faudra spécifier au benchmark d'utiliser votre gnuplot compilé dans ~/src/gnuplot-4.6.5/src. Pour cela, faites

$ PATH=<path/to/gnuplot-4.6.5>/src:${PATH} ./bootstrap.sh

à la place de ./bootstrap.sh dans le dossier benchmark.

Si vous avez les droits root, faites simplement

$ sudo make install

dans le dossier gnuplot.

Troobleshooting

Si vous avez l'erreur "required file ./ltmain.sh" en faisant ./configure ou ./bootstrap.sh, assurez vous que votre dossier gnuplot-4.6.5 n'est pas dans benchmark et vice versa.

benchmark's People

Contributors

blegat avatar eregon avatar obonaventure avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.