Une commande de terminal peut être 1000 fois plus rapide qu’une interface

Nicolas Furno |

Rob Griffiths est développeur et tous les mois, il récupère 25 rapports de ventes transmis par Apple pour ses logiciels vendus sur le Mac App Store. Ces rapports sont fournis sous une forme archivée (.gz) qu’il faut décompresser pour les exploiter. Précisons que ce sont des fichiers très légers, le plus lourd pèse 1 Ko et en moyenne, ces archives tournent autour de 300 ou 400 octets.

En passant par l’interface de macOS, donc par le Finder et par l’Utilitaire d’archive fourni avec le système, il faut compter environ 13 secondes pour extraire ces données sur son Mac. Même si ce n’est pas grand-chose en soi, c’est extrêmement lent pour décompresser des archives aussi légères. Et d’ailleurs, en passant par le terminal, l’opération sur le même Mac est terminée en 0,013 seconde. Soit environ mille fois plus rapidement, rien que ça !

Comment expliquer une telle différence ? Décompresser des archives aussi légères est une tâche tellement simple qu’elle est quasiment instantanée pour un ordinateur moderne. C’est d’ailleurs le cas avec le terminal : sitôt la commande saisie, l’opération est terminée.

Ce qui ralentit l’opération, c’est en fait l’interface. La vidéo le montre bien, l’utilitaire d’archive de macOS ouvre chaque fichier un par un, il l’affiche dans sa fenêtre, complète la barre de progression, retire l’élément, passe au suivant, etc. Et même s’il traite plusieurs fichiers en parallèle, cela reste une opération progressive où le temps nécessaire pour afficher les données surpasse largement le temps qu’il faut pour décompresser les fichiers à proprement parler.

Le terminal n’a pas à se soucier de l’interface et même s’il traite chaque fichier un par un, il va plus vite qu’en passant par le Finder. Il est si rapide que le gestionnaire de fichiers de macOS n’arrive pas à suivre : si vous regardez attentivement la vidéo, vous verrez que la tâche se termine avant que les fichiers soient affichés dans la fenêtre du Finder à côté.

Il faut plus longtemps pour afficher l’opération de décompression à l’écran que pour la mener à bien. Cliquer pour agrandir

C’est un cas un petit peu extrême qui pourrait facilement être corrigé si Apple le voulait. Par exemple, l’interface pourrait se contenter d’une seule barre de progression pour gagner du temps. D’autres utilitaires, comme The Unarchiver, s’en sortent d’ailleurs mieux que l’Utilitaire d’archive de macOS. Par ailleurs, la différence n’est aussi spectaculaire que dans ce cas précis, à savoir un grand nombre de petits fichiers compressés.

Si vous êtes dans le même cas que ce développeur que vous voulez gagner un petit peu de temps tous les mois, vous pouvez utiliser la commande de terminal sans passer par le terminal. Automator, Alfred, Keyboard Maestro… les solutions ne manquent pas et vous trouverez des explications à cette adresse.

avatar byte_order | 

Minimum oui.
Mais ce temps perdu n'est pas à chaque fois, quand même, sauf si vous etes amnésique notoire.
Alors que le temps perdu pour du feedback graphique, lui, cela sera à chaque fois.

avatar Un Type Vrai | 

Amnésique notoire vi ca existe ?

avatar free00 | 

Dans certaines séries que je regarde, on gagnerait du temps si le FBI évitait la photo de l'ensemble des êtres humains sur Terre quand il scanne une empreinte pour la comparer en leur système !

avatar byte_order | 

Ben ouais, mais sans affichage de chaque empreinte testée, on aurait une barre de progression 0 -> 7 milliards qui serait nettement moins visuellement sympa :-)

avatar IceWizard | 

@free00
"Dans certaines séries que je regarde, on gagnerait du temps si le FBI évitait la photo de l'ensemble des êtres humains sur Terre quand il scanne une empreinte pour la comparer en leur système !"

C'est les mêmes séries où les méchants cassent les codes numériques des lanceurs de missiles nucléaires, avec des "briseurs de code" fonctionnant chiffre par chiffre ?

" - Chef, nous avons trouvé le premier chiffre. Encore 1h30 minutes pour le second et 12 heures pour l'intégralité du code.
- Bien ! Prévenez les mercenaires d'empêcher les agents américains d'approcher du site de lancement jusqu'à demain matin"

avatar Ber16 | 

J'ai mille fois le temps d'attendre, donc l'interface me convient.
À courir aussi vite, on fait plus de chose...soit !
Mais on ne galope pas après la mort ?

avatar macinoe | 

Bof.. Rapidement ou lentement, le résultat est le même.

avatar Mr Raph_ | 

Merci Captain Obvious pour cette évidence ... C'est encore plus rapide si on décompresse en ligne de commande sans afficher la sortie écran également ...

avatar jbmg | 

Je recherche un logiciel comme l'était TheUnarchiver, double clics sur le fichier, lancement de TheUnarchiver, il fait son boulot et il se ferme.
Il faisait ainsi jusqu'au 10.09, depuis il ouvre sa fenêtre préférences

avatar cv21 | 

Merci macG de rappeler que macOs est un unix !
Si j'utilise rarement ces commandes, elles sont en revanche utilisées au quotidien là où je bosse. Celles-ci étant lancées par des scripts, les différences de temps de copie, changements de droits ou que sais-je sont effectivement notables.

avatar poulpe63 | 

Testé sur des petites archives (13 ko, compressé en ultra, zip).
Sous windows 10, 7zip et Winrar ont mis une à deux secondes pour décompressé 26 archives.
Je tente la même chose sous Mac :
- avec l'utilitaire d'archive (10.10), ça a mis près de 15 secondes (problablement l'affichage de plein de fenêtre qui doit tout ralentir, contrairement aux deux outils ci-dessus pour WIndows)
- avec Keka 1.06 : légèrement plus long (qui n'affiche qu'une seule fenêtre, pourtant)

D'un autre côté, mon PC a un CPU plus rapide (G3258@4.3 GHz) ce qui doit jouer pas mal aussi (MBA avec Core2Duo 1.86GHz).
On peut espérer un écart moindre à config égale.

En tout cas, ça confirme ce que je ressent à l'usage : Explorer/Windows 10 au file des version semble plus rapide/optimisé ; ça ne semble pas trop suivre ce même chemin, côté Finder.

Pas le temps d'essayer, mais peut-être que Path Finder ou autre outils équivalent devrait peut-être mieux s'en sortir. Si c'est le cas, c'est dommage de passer par des logiciel tiers pour des manips aussi "simples" (à l'usage).

avatar Hanomansama | 

Le bon vieux débat sur la performance "pure" !
La révolution du wysiwyg c'est justement de privilégier la simplicité et la cohérence, "n'apprenez pas a devenir une machine".
Absolument complètement évident que ça va stratosphériquement plus vite en programmant une routine en assembleur, et alors ?
En 1970 ça m'amusait. Mais depuis, quel bonheur de passer mon temps sur mes macs à créer des choses belles, nouvelles, intéressantes, poétiques... Est-ce que ça vaut vraiment le coût de se pourrir la vie pour des millisecondes alors qu'il y a tant d'autres choses plus passionnantes à faire de votre vie ? Posez-vous au moins la question...

avatar horuseye | 

Et au coeur du bâtiment, un super ordinateur nommé Steve 9000, auquel Tim Cook viendra demander son avis dans le plus grand secret...

avatar Jazzride | 

L'interet n°1 de mac os X : ce n'est pas l'apple store, ce n'est pas itunes ce n'est pas l'awesome des keynotes ce n'est pas la pomme sur le mac

c'est l'UNIX
Unis vers l'unix

le bon vieux terminal
dans linux,allez installer du soft en mode graphique et comparez avec apt get... ne parlons pas des plantages

la surcouche graphique c'est la mort des ordis
vivent les OS moches, la puissance brute l’efficacité (et là mackevin se mit à hurler "ah non ah non mon interface mac os X doit être la plus belle du mode, tant pis si c'est plus lent, de tte façon papa me paiera le nouveau mac à Noël pour sierra") ^^

@hano le terminal permet de se sortir de situations problématiques autrement qu'en rebootant son ordinateur comme un sauvage et pourquoi est ce que mandriva a raté sa lancée et que les debian sont les distrib les plus répandues même chez les débutants ? moins d'interface graphique plus grande fiabilité (au passage unity c'est pourriX ^^)

mandrake était une windows like ca ne lui a pas réussi
le nombre de fois ou j'ai meme, constaté que windows était plus stable...
de même temps install suse 1H temps d'install ubuntu 5 min: suse pire que windows (j'ai tenté il y a pas 1 mois, quel calvaire... de l'interface graphique y a que ca même en install... mais alors, mieux vaut win10 et de loin...)

autre ex: soft de clonage GUI versus clonezilla
clonezilla est laid mais laid mais efficace mais efficace
quand sur le même pc un soft payé en mode GUi met 50 min pour cloner un dd ne comportant qu'une partition windows, clonezilla clone du dual boot en 5 minutes

non le GUI ces trucs ont tué l'info et ne servent qu'a ralentir de bonnes machines et contraindre à en racheter sans cesse non pour de nouvelles fonctions mais pour encaisser des GUI et des desks toujours plus lourds

avatar BeePotato | 

@ Jazzride : « L'interet n°1 de mac os X : ce n'est pas l'apple store, ce n'est pas itunes ce n'est pas l'awesome des keynotes ce n'est pas la pomme sur le mac
c'est l’UNIX »

N’exagérons rien : pour certains utilisateurs (dont je suis), la partie UNIX de Mac OS X présente effectivement un intérêt. Mais si ça constituait réellement l’intérêt n°1 de ce système, on se demande ce qu’on ferait sur cet OS.

« dans linux,allez installer du soft en mode graphique et comparez avec apt get... »

Avec Linux, oui. Mais sur Mac, c’est une toute autre histoire.

« non le GUI ces trucs ont tué l'info et ne servent qu'a ralentir de bonnes machines et contraindre à en racheter sans cesse non pour de nouvelles fonctions mais pour encaisser des GUI et des desks toujours plus lourds »

Le fait de mettre toutes les interfaces graphiques dans le même panier montre la faiblesse des bases sur lesquelles repose ce jugement.
Il faudrait apprendre à utiliser correctement l’interface graphique et en exploiter toutes les possibilités (ce qui permet, au passage, de faire la différence entre les diverses interfaces graphiques qu’on peut trouver de nos jours) avant de pouvoir se prononcer sur ce à quoi elle sert. ;-)

Pages

CONNEXION UTILISATEUR