[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Re: calcul de temps



Le vendredi 1 août 2014, 12:10:57 Francois Lafont a écrit :
>[…]
> Par exemple :
> 
>     a=1396459867
>     b=1406879835
>     diff=$(( b - a ))
>     days=$(( diff / 86400 ))
>     # etc.

  Oui, du peu que l’on en connaisse, la question originale (une 
fois correctement lue) pouvait se traiter en (ba)sh seul : 
calcul et formatage de (j, h, m, s) à partir d’un nombre de 
secondes.
 
   Car moi-meme semble bien seulement vouloir un programme 
simple pour faire ça, soit avec `date`, soit avec un autre 
programme.

  Le hic, c’est qu’une durée ça n’est pas une date et qu’il n’y 
a pas de fonction de base pour ça. Donc il faut bien soit 
calculer soi-même (ce que moi-meme appelle bidouillage ? ou 
alors parlait-il de bidouiller la sortie de `date` pour enlever 
le jour de trop ?), soit utiliser quelque chose qui sache qu’une 
durée c’est différent d’une date. Et ce quelque chose, c’est une 
bibliothèque, pour Perl, C, ou autre. D’où le fait que moi-meme 
n’a trouvé que des références à Perl, C, Java… et le fait que, 
moi-même (notez l’accent ;o), voyant des manipulations de dates, 
une réticence à utiliser un vrai langage et une proposition 
d’utiliser un interprète bridé, ai couru à la défense de 
l’utilisation d’un vrai interprète…

> >   Le shell, ça va bien un peu mais ça devient vite difficile
> > à maintenir
> 
> D'accord avec ça également.
> 
> > et très gourmand en processus inutiles.
> 
> Là aussi, j'ajoute un bémol. Parfois le shell peut
> s'avérer plus rapide qu'un autre interpréteur (comme Perl
> ou autre) sur des petits programmes assez simples et courts
> car, dans le temps d'exécution, il faut compter le temps
> de chargement de l'interpréteur lui-même, […]

  Ok mais il y avait le mot-clef « devient ». Ma conclusion 
généralisait : le shell, c’est très bien comme glu (traitement 
par lot, tubes, quelques variables, etc.) mais, souvent, le 
problème se complexifie et, en bash, on se met alors à 
compliquer le script : on utilise de plus en plus de petits 
programmes simples (sed, grep, cut…) pour contourner les manques 
du shell alors qu’un seul processus interprète suffirait et 
serait beaucoup plus clair (parfois un simple awk). (Sans parler 
des UUOC ;o)

-- 
 Sylvain Sauvage


Reply to: