Intro
Les mathématiciens qui s'intéressent au calcul numérique semblent avoir deux préoccupations principales :- La précision du calcul
- La rapidité d'obtention du résultat
- Selon la précision demandée au programme (que ce soit G.B. ou bc)
- selon la formule utilisée
Le programme time
Passé les difficultés premières, le monde Linux -héritier en cela de la tradition d'Unix- se montre généreux en outils spécialisés. Chacun d'eux doit faire, bien, une tâche unique et être capable, via le shell, de s'associer à d'autres.
Une recherche dans la liste des outils fournis avec la distribution Suse 9.1 permet de découvrir le programme time.
Sa syntaxe d'utilisation peut être comprise via cet exemple, appliqué à bc :
alain@linux:~/Desktop> time bc -l
bc 1.06
....
scale=500
4*a(1)
3.1415926535897932384626433832795028841971693993....
quit
real 0m18.138s
user 0m0.297s
sys 0m0.008s
Interprétation de ce résultat
Afin de vérifier ce que je comprenais du man time, j'ai effectué plusieurs calculs en variant les paramètres d'utilisation de bc.
J'en conclus les choses suivantes :
real
désigne le temps passé dans le programme bc (même pendant que celui-ci ne fait rien)
user
désigne le temps du calcul.
Déterminer le temps de calcul en utilisant un programme
Le "langage bc" peut être utilisé en mode interactif (et c'est ce qui a été montré précédemment), mais aussi par l'intermédiaire de programmes enregistrés au format texte.
Il est sensible aux caractères cachés introduits par certains éditeurs conviviaux tels que Kate. Compte-tenu que les programmes enregistrés seront courts, il vaut mieux utiliser Vi ou Emacs, ou paramétrer son éditeur en conséquence (sous réserve d'y parvenir...).
Un programmes avec bc
scale=500
4*a(1)
quit
Enregistrons-le dans le fichier pi1.bc Nous pourrons l'éxécuter avec :
bc -l pi1.bc
Et cela marche...
Ajouter la mesure du temps
C'est facile... Exemple :
alain@linux:~> time bc -l pi1.bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3.1415926535897932384626...
real 0m0.315s
user 0m0.295s
sys 0m0.007s
A suivre ...
Réagir :