Je crois que tu te trompe sur ce que tu souhaite mesurer... ton unité sera probablement pas des ko/s. Mais des secondes ou plutot millisecondes.
Je suppose que tu as un programme ligne de commande qui fait une tâche et se termine, la commande time permettera de mesurer la durée entre le moment ou il est lancé et l'arrêt du programme.
Ca me rappelle furieusement un TP en ADA il y a quelques années ou l'on devait trier des entiers et comparer les perfs avec la commande sort (quicksort) de *nix... si jamais ca peut t'aider je te met les sources de l'époque. Je ne suis pas sûr d'avoir conservé tous les fichiers, mais l'essentiel d'une implémentation de tri par fusion doit y être :
http://www.rathgeb.org/files/serie6.zip
Pour les perfs (une fois le prog débugué), le truc que j'avais trouvé en utilisant GNAT, c'était d'une part d'utilsier des pragma pour virer certaines vérifications (ca prend du temps) et d'autre part de passer à GCC des optimisations compilos (si je me rappelle bien il y avait une option -O6)... les perfs était bien meilleure après ce qui permettait de gratter haut la main la commande "sort"