34 points par xguru 2023-06-29 | 11 commentaires | Partager sur WhatsApp
  • Une vidéo comparant la vitesse d’un ancien ordinateur sous Windows NT 3.51 et d’un nouvel ordinateur sous Windows 11 a été publiée sur Twitter et est devenue assez virale
    • Les deux effectuent les mêmes actions : ouvrir et fermer l’invite de commande, l’Explorateur, le Bloc-notes et Paint
    • Sur l’ancien ordinateur, tout s’exécute instantanément, mais sur le nouvel ordinateur, c’est lent
  • La latence des interfaces utilisateur sur les ordinateurs modernes est très mauvaise et elle empire
  • Certains ont fait remarquer que le matériel utilisé pour la comparaison — un desktop et un laptop (Surface Go) — rendait le test inéquitable
  • Une nouvelle comparaison a été faite avec une machine K7-600 sous Windows 2000 et un Mac Pro 2013 (Xeon 6 cœurs + 32 Go) sous Windows 11, mais les résultats sont restés similaires

L’évolution des ordinateurs

  • Depuis les années 2000, il y a eu des progrès dans de nombreuses directions : graphismes impressionnants, écrans haute résolution, réseaux ultra-rapides, montage vidéo en temps réel, etc.
  • Il y a aussi eu beaucoup de progrès côté I/O, alors que sur les anciens systèmes, les I/O disque étaient toujours le maillon faible
    • Les disquettes étaient peu fiables et lentes, les CD/DVD un peu plus fiables mais toujours lents, et les HDD constituaient un goulot d’étranglement pour beaucoup de choses
    • Les I/O aléatoires commençaient à atteindre leurs limites physiques
  • L’arrivée des SSD et leur adoption sur desktop ont commencé à résoudre ce problème d’I/O aléatoires
    • Soudain, tout est devenu plus rapide : démarrage, chargement des jeux, ouverture de dossiers contenant d’innombrables fichiers, etc.
  • L’installation de nouveau matériel est devenue plus simple, les connexions sans fil se sont généralisées, et l’internationalisation du texte et des applications a progressé (même si Unicode n’a été ni simple ni bon marché, il faut le reconnaître)
  • À bien des égards, la situation s’est améliorée et nous avons plus de puissance que jamais. Sans cela, il aurait été impossible d’exécuter sur de petits téléphones des années 2000 des traitements photo utilisant le ML, comme c’est le cas aujourd’hui

Une latence épouvantable

  • Mais aucun de ces progrès n’explique pourquoi la latence de l’UI est aujourd’hui à ce point extrême
  • Les avancées matérielles auraient dû améliorer cette situation

Exemples

  • Le Bloc-notes était jusqu’à récemment une application native et se lançait rapidement, mais après sa réécriture en application UWP, il est devenu lent. Très lent, tout en restant encore pauvre en fonctionnalités. Un ralentissement qui n’apporte aucun bénéfice à l’utilisateur
  • Windows Terminal est bien meilleur qu’avant, mais sensiblement plus lourd. Si on y ajoute PowerShell, l’ouverture d’une nouvelle fenêtre de terminal peut prendre plusieurs secondes, sauf avec du matériel haut de gamme
  • macOS s’en sort mieux que Windows, mais a lui aussi ses problèmes. L’ouverture de la fenêtre Réglages est nettement plus rapide sur d’anciennes machines
  • Linux est probablement le moins affecté par ce genre de problèmes. Même sur un PC vieux de 11 ans, Fedora Linux 38, sortie en avril 2023, fonctionne bien. Mais là encore, c’est en partie une illusion : dès qu’on exécute des applications récentes qui n’ont pas été développées spécifiquement pour Linux, le temps de démarrage des apps augmente et les performances baissent en général
  • Le plus grand choc pour moi a été quand j’ai rejoint Google en 2009
    • À l’époque, Google Search et Gmail étaient réputés pour leurs excellentes performances et servaient de référence
    • Mais j’ai été sidéré de voir à quel point les outils en ligne de commande internes étaient lents
    • Je pense que leur volonté de pousser sans relâche les web apps, quel qu’en soit le prix, a contribué à créer la situation dans laquelle nous sommes aujourd’hui

Causes

  • Pourquoi tout cela est-il arrivé ? Il est facile de parler de « bloat », mais difficile de le définir
    • Le bloat peut être justifié : chacun a sa propre idée de ce qui constitue du bloat
  • Ce qui rend les choses lentes, ce sont les « priorités »
    • En dehors de cas importants comme les jeux ou le transcodage vidéo, plus personne ne fait de la performance une priorité
    • Ce que les gens (et les entreprises) mettent en priorité, c’est le « temps développeur » : Rust et Electron
  • On utilise Electron parce que développer séparément des applications natives représente un travail redondant
    • C’est pratique, mais cela a un impact majeur sur la latence sur desktop
    • Des produits comme 1Password ou Spotify ont été réécrits en Electron pour offrir une expérience unifiée et réduire les coûts
    • Mais cette réduction des coûts profite aux entreprises, pas aux utilisateurs
    • Et ces économies reviennent à nous imposer une taxe quotidienne, à nous qui utilisons ces logiciels tous les jours
  • Une autre décision qui augmente la latence est l’adoption massive des langages managés et interprétés
    • Les JDK/CLR optimisent bien les processus de longue durée, mais ils gèrent mal les démarrages rapides

Les améliorations ponctuelles se sont évaporées (One-off improvements eaten away)

  • Pour finir, revenons aux progrès matériels avec une note pessimiste
  • L’amélioration spectaculaire apportée par les SSD était un changement ponctuel
    • Les HDD continuaient à gagner en vitesse, mais sans offrir les I/O aléatoires rapides dont le desktop avait besoin
    • Le passage au SSD a apporté une amélioration d’un tout autre ordre, mais on ne pouvait en bénéficier qu’une seule fois
    • Il n’existe pas d’autre technologie capable d’apporter une expérience aussi révolutionnaire
    • Donc, une fois les bénéfices de cette nouvelle technologie dissipés par des logiciels négligents, nous reviendrons à la case départ
    • Bien sûr, les SSD continuent à devenir plus rapides, mais pas au point de recréer l’énorme saut qu’a représenté le passage des HDD aux SSD
  • Il suffit d’utiliser une version récente de Windows ou de macOS sans SSD pour s’en rendre compte
  • C’est pour cela que l’avenir d’Apple Silicon m’inquiète
    • Vous vous souvenez des performances remarquables du M1 à sa sortie, de son autonomie exceptionnelle et de l’absence de bruit de ventilateur ?
    • Si nous continuons sur cette voie négligente, ces avantages finiront eux aussi par disparaître, et il sera alors trop tard
  • Renforcer les performances d’applications existantes est techniquement très difficile, et presque impossible à faire devenir une priorité dans une organisation
  • Alors, des architectes informatiques pourront-ils nous sauver avec un autre changement technologique révolutionnaire ? Je préférerais ne pas dépendre de cela. Non pas parce qu’un tel changement serait impossible, mais parce qu’il ne devrait pas être nécessaire

Version résumée par GN⁺ (conservée pour archive)

  • Un fil Twitter comparant la réactivité d’anciens et de nouveaux ordinateurs a reçu 8,8 K likes.
  • Dans la vidéo, les applications de l’ancien ordinateur s’ouvrent instantanément, tandis que celles du nouvel ordinateur présentent une latence importante.
  • L’auteur s’interroge sur les raisons pour lesquelles, malgré les progrès matériels, la latence des interfaces utilisateur sur les ordinateurs modernes s’est aggravée.
  • Les défauts de la comparaison ont été corrigés et le même résultat a été obtenu.
  • Des avancées technologiques comme les graphismes, les écrans haute résolution et les réseaux rapides sont évoquées.
  • Il est affirmé que la latence des interfaces utilisateur sur les ordinateurs modernes est très mauvaise et continue de se dégrader.
  • Des exemples d’applications lentes sous Windows, macOS et Linux sont donnés.
  • Des logiciels lourds, des frameworks et des langages managés sont proposés comme causes du problème de latence.
  • Les bénéfices des SSD sont annulés par des logiciels négligents, ce qui alimente les inquiétudes quant à l’avenir d’Apple Silicon.
  • Améliorer les performances d’applications existantes est difficile, tant sur le plan technique qu’organisationnel.
  • Selon l’auteur, un changement technologique révolutionnaire pourrait ne pas nous sauver.
  • Le travail à distance ne constitue pas une solution au problème de latence.
  • Le développement open source des années 1990 et 2000 permettait déjà un travail entièrement distribué et asynchrone.
  • La latence informatique est un problème au moins depuis 1977.
  • Selon une observation de Dan Luu, l’ordinateur le plus performant en matière de latence daterait de 1983, mais il ne peut pas répondre aux charges de travail modernes.

11 commentaires

 
nuthatch 2023-06-29

Ils ont choisi la maintenabilité plutôt que les performances, et n’est-on pas arrivés jusque-là en se disant que le progrès du matériel compenserait ce coût ?
Quand mon MacBook Air 2010 était devenu beaucoup trop lent, j’ai réussi tant bien que mal à y installer Snow Leopard, et il est devenu incroyablement rapide. Bien sûr, je ne l’utilise pas vraiment au quotidien, mais bon..

 
googol 2023-06-29

On sent bien que les entreprises ne donnent plus la priorité aux performances.

 
anyjava 2023-06-29

Mais l’idée que la réduction des coûts est pour l’entreprise, et non pour les utilisateurs,

donne vraiment matière à réflexion.

 
edunga1 2023-06-29

Merci. Je vous ai lu avec un vrai sentiment d'identification.
Quand on ouvre le menu contextuel sur le bureau de Windows, c'était déjà lent il y a 20 ans et ça l'est encore aujourd'hui, au point de regarder le sablier (après la première fois, ça va un peu mieux, mais c'est vraiment agaçant).
Le matériel devient clairement plus rapide, mais on dirait que le logiciel ne suit pas.

 
ruinnel 2023-06-29

J’ai l’impression d’avoir vu un site dans le même genre qui rassemblait uniquement des applications légères (probablement plutôt du côté de Linux)... mais quand j’ai essayé de le retrouver, impossible de remettre la main dessus haha

 
nicewook 2023-06-29

Merci pour cette lecture.

 
iolothebard 2023-06-29

Qu’est-ce qui compte vraiment ?

 
devjeonghwan 2023-06-29

À l’époque où les interfaces étaient réalisées uniquement avec WinAPI, elles étaient propres et réactives.
De nos jours, avec des frameworks UI dans tous les sens et toutes sortes d’apps basées sur le web… faire tourner un moteur web ou un moteur de framework demande beaucoup de ressources.

 
xguru 2023-06-29

C’est un article publié sur GN⁺, mais comme il semble difficile à comprendre à partir d’un résumé par IA, je l’ai réorganisé moi-même.

 
botplaysdice 2023-06-30

Je vous l’avais bien dit, haha...

Ça me rappelle ce sentiment quand Lee Sedol a gagné... notre sécurité de l’emploi... ça devrait encore aller pour l’instant, non ? sniff

 
GN⁺ 2023-06-29
Commentaires Hacker News
  • Les jeunes utilisateurs n’ont jamais vraiment connu de vraies performances dans la pile logicielle
  • Les ingénieurs logiciel sont inefficaces et ignorent le calcul parallèle
  • Les non-techniciens ne se soucient pas de la lenteur de l’informatique
  • Les mesures de sécurité peuvent affecter la latence des applications de bureau
  • Sur macOS, Quartz Extreme et Metal améliorent les performances graphiques
  • L’optimisation logicielle est importante pour la vitesse
  • Rust n’a pas une courbe d’apprentissage si abrupte
  • Il est important de célébrer les petites réussites en informatique
  • Nous devrions attendre davantage de notre matériel
  • Les interfaces utilisateur dynamiques contribuent à la baisse des performances
  • Linux fonctionne rapidement sur du matériel peu puissant, mais les applications cross-platform ont de mauvaises performances
  • Les frameworks d’applications modernes peuvent être responsables de temps de démarrage plus lents des applications