La calculette de macOS peut mobiliser tout le processeur pour une addition

Nicolas Furno |

L’interface de la calculette d’iOS 11 est si lente qu’on ne peut même pas faire une addition rapidement sans obtenir un mauvais résultat (lire : La calculette d’iOS 11 est trop lente pour les additions). Un lecteur nous a signalé que la version conçue pour macOS n’est pas en reste. Même si son interface, contrôlable depuis le clavier, est aussi rapide que l’utilisateur peut l’être, il y a un cas de figure qui peut conduire la calculette de macOS à perdre les pédales.

Commencez par une addition très simple, par exemple « 1+1 », puis cliquez plusieurs fois sur la touche « = » pour augmenter le résultat d’un à chaque fois. Vous pouvez utiliser la touche entrée du clavier plutôt que de cliquer sur le bouton. Faites le plusieurs fois, environ 250 fois, et vous devriez commencer à observer des ralentissements. Passés les 300, la calculette occupe tout le processeur et elle ne répond plus, il faut au moins une seconde pour voir le résultat s’afficher.

Processeur à 100 % et résultat en attente dans la calculette pour… une addition ? ?? Cliquer pour agrandir
Processeur à 100 % et résultat en attente dans la calculette pour… une addition ? ?? Cliquer pour agrandir

Certes, ce cas n’est pas aussi courant que le bug de l’interface trop lente d’iOS 11. Mais tout de même, ce n’est pas un calcul complexe d’ajouter le chiffre 1 à un numéro relativement faible. Cela étant, nous avons essayé Pcalc et Calcbot, deux calculettes alternatives sur le Mac App Store, et ces deux apps ne permettent pas de reproduire la même opération plusieurs fois de suite comme celle d’Apple. Est-ce qu’il y a une bonne raison pour que ce calcul linéaire nécessite une puissance de calcul exponentielle ?

Cela ressemble davantage à un bug qu’à un vrai problème technique. À défaut d’avoir une preuve pour appuyer cette hypothèse, nous avons essayé de mettre en défaut la calculette d’iOS 11 de la même façon et l’app n’a jamais ralenti pendant nos essais. A priori, seule la déclinaison macOS est concernée. Nous avons par ailleurs reproduit le bug avec Sierra et High Sierra.

Source
merci Antoine
avatar Hu-Card | 

Article très pertinent...

avatar C1rc3@0rc | 

Auquel il aurait fallu neanmoins rajouter qu'a une epoque (Powerbook G4 ti) Apple insistait sur le fait que ses machines avaient la puissance d'un supercomputer et avait sorti une application capable de produire des graphes mathématiques animés en temps reel.. La on est juste a l'inverse. Qui a parlé d’obsolescence programmée et de régression?
;)

Ceci dit, il aurait aussi fallu dire de quelle machine il s'agissait pour les tests, parce que si ça a ete fait sur un Macbook on peut comprendre que le processeur soit occupé a 100% vu ses caractéristiques.
On ne peut pas exclure non plus un artefact lie aux nouveaux claviers infligés aux Macbook et Macbook Pro.

Et il faut saluer le dévouement du preposé a l'experience qui au bout de la procedure a du finir par avoir une tendinite et des ampoules. En plus de la creativité pour imaginer ce type de situation.

Mais plus serieusement cela met en evidence des problemes dans la gestion des process sur Mac OS que l'on observe de plus en plus: l'emballement d'un process (ou plusieurs) qui surcharge sans aucune justification le processeur.
Si on a une machine a disque dur, on voit par exemple des ralentissements qui semblent aléatoires mais qui surchargent la machine juste pour des dialogues de selections de dossiers, et on ne parle pas de l'inefficacité de l'indexation de Spotlight (dont le nom devrait etre Spotfat...)

Il y a vraiment de plus en plus d’éléments ou l'on voit qu'Apple a vraiment besoin de prendre le temps de remettre a plat ces priorités et méthodes de développement (a commencer par avoir une grosse équipe entièrement dédiée a MacOS), parce qu'une chose est claire, MacOS - comme iOS - n'est plus l'OS le plus avancé du monde, et qu'il se rapproche tous les jours un peu plus des horreurs de Microsoft a l'instar de Windows 95 ou Windows Vista!

avatar BeePotato | 

@ C1rc3@0rc : « Auquel il aurait fallu neanmoins rajouter qu'a une epoque (Powerbook G4 ti) Apple insistait sur le fait que ses machines avaient la puissance d'un supercomputer et avait sorti une application capable de produire des graphes mathématiques animés en temps reel.. La on est juste a l'inverse. Qui a parlé d’obsolescence programmée et de régression? ;) »

Sauf qu'en fait, au moment où Apple a racheté Curvus Pro X pour l'inclure avec Mac OS X (sous le nom de Grapher), elle distribuait déjà depuis plusieurs années cette calculette avec le problème de comportement décrit ici.
Qui a parlé d'obsolescence programmée et de régression ? Personne, j'espère. ;-)

avatar jj_ardoino | 

Super la manipe pour fatiguer la calculette. C'est vrai que je fais ça 20 fois par jour en utilisation normale. Chez MacGé on sait s'amuser :-)

avatar frankm | 

Vous voyez l'amusement à travers ce problème, personnellement je vois que les finitions n'y sont pas. Et n'y sont pas de plus en plus au fur et à mesure des OS.
Si les finitions sont faibles, alors que dire des choses principales ?

avatar jj_ardoino | 

@frankm

On peut s'amuser d'un truc insolite sans se faire mordre à chaque coin de rue, non ?

Je suis bien conscient qu'il y a un problème, mais il faut aussi relire l'article qui laisse entendre que le problème se pose quand on utilise la calculette dans des conditions extrêmes. Qui aurait l'idée, en utilisation normale, d'appuyer 300 fois sur la touche "=" ?

C'est ça dont j'ai voulu m'amuser, l'idée qu'il faut presque être au sommet de l'Everest, lever le pied gauche, porter une casquette jaune, et enfin appuyer sur 27842 touches en moins d'une minute tout en chantant "My heart will go on"

avatar mat 1696 | 

@frankm

C'est aussi la même chose que les MBP 2016: ces systèmes ont fait un très gros faux départ niveau perfs et bugs, alors tout le monde les scrutes et essaye de trouver tous les bugs possibles pour pouvoir dire "Hé j'ai trouvé un bug!". Car ce bug de Calculette, présent depuis au moins Sierra n'a pas dérangé grand monde vu que personne ne l'a remarqué jusqu'à aujourd'hui ?

(Ne prenez pas mal mon message, je trouve aussi que les OS de ces dernières années et encore plus 2017 sont des nids à bugs sans finition, mais c'est un cercle vicieux en qqe sortes :/)

avatar Madalvée | 

Pour ceux qui ont besoin de savoir combien font 300 fois un sans utiliser de multiplication…

avatar Pyjamane | 

Depuis plus de 25 ans (voire certainement bien plus longtemps), c’est un test classique que tous les collégiens et lycéens font sur leur calculatrice pour savoir qui va le plus vite en un temps donné. Aucune n’a jamais été mise en défaut ^_^

avatar Schwarzer Stern | 

ahah que de souvenirs :P

avatar vince29 | 

heureusement que les processeurs Apple sont les plus rapides grâce à leur mémoire cache...

avatar postman94801 | 

@vince29

Sauf que là on parle de macOS... pas iOS...

avatar raf30 | 

c'est l'outil qu'Apple utilise pour fixer le prix de son iPhone X :)

avatar frankm | 

EXCELLENT

avatar Carbonized | 

Cela doit être un bug de la calculatrice.
Je viens d'essayer sous Windows, et même à 1500 impossible de faire décoller les cœurs du processeur.

avatar bbtom007 | 

Il faut un macpro pour les divisions ?

avatar jerome74 | 

C'est la faute au paper tape. Il suffit de l'effacer.

avatar Alex56 | 

"n’a jamais ralentit"
En tout cas ce n'est pas le correcteur grammatical qui mobilise la CPU

avatar jackhal | 

"Est-ce qu’il y a une bonne raison pour que ce calcul linéaire nécessite une puissance de calcul exponentielle ?"

Non, vraiment aucune.

Peut-être que pour chaque calcul la calculette refait tout l'historique des opérations (et dans ce cas pourquoi, alors qu'il n'y a pas de undo ?), et que les cas nécessitant 200 opérations successives pour arriver à un résultat peuvent être considérés comme inhabituels (autant prendre un tableur parce qu'une seule erreur dans la saisie à la calculette...).

Le problème c'est qu'une fois qu'on arrive à faire ralentir la calculette, même si on clique C/AC, ça ne réinitialise pas la lenteur. Si la calculette refait tous les calculs, elle ne se préoccupe même pas des réinitialisations et refait tout l'historique.

Bref, peu importe la technique derrière, le truc c'est que plus il y a eu d'opérations depuis le lancement et plus les résultats sont lents à venir. Il est donc impossible de conserver la calculette ouverte en permanence pour l'utiliser régulièrement. Et en 2017, en être encore là, ça craint franchement.

avatar ErGo_404 | 

Même s'il faut refaire 300 ou 1000 ou même 10000 opérations de l'historique à chaque fois, ça ne devrait pas prendre plus de quelques ms.

avatar jackhal | 

Non, mais bon, on peut imaginer un truc lent à la base car pas optimisé (il y a un mode scientifique pouvant gérer les parenthèses, pour rappel), avec une récursion mal foutue qui rend effectivement le temps de calcul exponentiel en fonction du nombre d'opérations.

Encore une fois, ça pourrait presque s'expliquer par le fait que 100 opérations sans erreur de saisie, c'est tellement stressant et une erreur est tellement bêtement sanctionnée qu'il vaut mieux utiliser un tableur.

Mais le truc c'est que même un enchainement de calculs simples, pour lesquels un tableur est plus lourdingue qu'utile, finit par ralentir fortement la calculette.

Et pour l'anecdote, je viens de faire le test du 1+1 avec 300 clics sur "=" avec le widget calculette, et la consommation CPU reste anecdotique et ne semble pas progresser au fil des opérations.

avatar ecosmeri | 

Moi je fais 300x1 c'est plus rapide
?

avatar florian1003 (non vérifié) | 

Ce n’est pas un calcul linéaire mais en O(1) donc aucune raison que le proc. s’emballe : c’est un bug.

avatar simnico971 | 

Par contre Calcbot est complètement dans les choux quand son historique devient trop long, au point de devoir attendre deux bonnes secondes après l'appui du bouton "=". Je pensais que c'était un bug de l'app tellement ça empire lentement sur plusieurs mois, jusqu'à que je pense à vider ledit historique. Il y a encore des phases de tests dans les boîtes de soft ou bien...? #betapermanente

avatar minipapy | 

@simnico971

L’un des problèmes, c’est que les utilisateurs demandent des applications à 0,99€ sans cesse mises à jour avec de nouvelles fonctionnalités. Les apps sont jetables et à usage unique.

Les roadmaps sont ultra denses avec des délais de livraison illusoires. L’étape AQL est souvent bâclée pour coller avec ces contraintes.

avatar Avenger | 

@ minipapy

Qui impose des roadmaps de dingues? Certainement pas les utilisateurs. Globalement, c'est souvent l'inverse qui est demandé, c'est à dire des mises à jour moins fréquentes mais plus pertinentes.

avatar minipapy | 

@Avenger

Par les utilisateurs avancés, oui, mais ils sont une minorité. La plupart des gens ont soif de nouveauté permanente pour ne pas se lasser.

avatar pistache18 | 

Un essai sur iOS 11 sur l’iPhone 7 128 go jusqu’à 1000 fois sans aucun ralentissements.

avatar Rigat0n | 

@pistache18

Oui c'est parce que le bug est sur macOS
Tu viens de perdre 10 min à cliquer sur ta calculette iOS comme un forcené pour rien

avatar byte_order | 

Pas pour rien.
Il a béta-tester l'app Calculette pour iOS.

Et l'on sait qu'elle a besoin de bien plus de béta-testeurs encore.
Bon, surtout de quelqu'un qui regarde les rapports de bug la concernant et qui trouve un ingén... stagiaire pour lui ordonner d'en corriger quelques uns.

avatar Dr. Kifelkloun | 

?

avatar je-deteste-android- | 

@pistache18

T'as une vie ?

avatar occam | 

« Est-ce qu’il y a une bonne raison pour que ce calcul linéaire nécessite une puissance de calcul exponentielle ? »

Pas étonnant, si la séquence n+1 = n + ((1/0)*∞) ?

À moins qu'Apple ne pioche sur un Moteur à Improbabilité Infinie™ pour sa bagnole.

avatar byte_order | 

Faut se méfier du mode "cachalot" et "pot de pétunia" des innovations récentes., chacun sait ça de toute façon.

Mais y'a aucune raison de paniquer !!!

avatar jb18v | 

Sale temps pour les calculettes Apple ^^

avatar poulpe63 | 

Et brancher une clé USB aussi! (mds_store :\)

avatar frankm | 

1+2+3+4+... = -1/12

avatar Dilem81 | 

Je pense que c'est le temps d'aller pomper la réponse sur Google qui augmente ;-)

avatar r e m y | 

Plutôt qu'une calculette ayant du mal à additionner des nombres à un chiffre, ils feraient mieux d'inventer celle dont tout le monde a réellement besoin, à savoir la calculette à additionner les emojis

Tu prends deux emojis et tu les sommes pour en créer un nouveau façon evolution de Pokémon!

ÇA ce serait de la killer feature!

avatar konoplyanka06 | 

Les Macs sont devenus nuls en calcul mental il faut croire...

avatar drarigemualliug | 

En même temps c'est pas une calculatrice, c'est une calculette...

avatar pim | 

Ce genre de mauvaises blagues, c’est pour Micro$oft d’ordinaire. Sacré retournement de situation en vingt ans !

avatar link60 | 

@MacG Bug également reproduit comme vous avec la calculette, mais j'ai aussi essayé avec la calculette du centre de notifications à droite et pour le coup je n'ai eu aucun bug !

avatar oeilneuf | 

Ça me rappelle ma prof de Basic en 1985 (!!!). Pour montrer la rapidité du bouzin, on faisait une boucle 1 + 1 = à l'infini. Ça défilait vite, c'était impressionnant ! Mais elle débutait, et ignorait le bouton Echap (ou Escape, je ne sais plus), et donc, pour arrêter le processus, elle éteignait l'ordi…

avatar huexley | 

Perso à 160 mon retina est deja dans les choux.

avatar glagla | 

c'est parce qu'il faut se mettre ne vue programmeur ! ^^

avatar A884126 | 

Sérieux, mais qui va calculer 300 fois à la suite sur une calculette ? Excel personne ne connaît ? ?

avatar marc_os | 

Pour info, la calculette d'iOS 7 est tout aussi "lente" que celle d'iOS 11 et provoque le même bogue avec mon iPhone 4.
Mais curieusement personne ne l'a relevé ni ne semble intéressé par l'info, car ça va à l'encontre des préjugés (pour ne pas dire autre chose) qu'on trouve dans les commentaires à ce sujet.

Et ce n'est pas un problème de lenteur de la calculatrice elle même comme l'a montré biak dans un commentaire de l'article initial mais un problème de temps d'inactivation de la touche + trop long. Je suppose que le problème est dû à l'origine au souhait d'éviter qu'un utilisateur nerveux ne clique deux fois sur +. Et la solution retenue semble ne pas être d'ignorer les + en double, mais de désactiver un court instant le bouton + quand qu'il vient d'être utilisé. Or voilà, tout appui sur une autre touche devrait réactiver le +, ce qui n'est visiblement pas le cas. Donc si l'utilisateur est trop rapide, le bouton + n'est pas encore réactivé quand il est pressé.

avatar je-deteste-android- | 

@marc_os

Tu nous parles de ton iPhone 4 à chacun de tes commentaires ?

avatar marc_os | 

@ je-deteste-android-
Et alors ?
Mon affirmation n'en est-elle pas moins vraie, que le problème soit disant apparu avec iOS 11 existait déjà sous iOS 7 ?
Non. Donc si tu as un argument quelconque à fournir, merci, j'attends.

Pages

CONNEXION UTILISATEUR