Journal MacOS contre Debian sur un test de build de Firefox

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
17
23
nov.
2020

Gabriele Svelto est un développeur Firefox travaillant pour Mozilla Corporation qui intervient régulièrement sur le forum realworldtech.com.
Dans le fil de discussion sur le nouveau processeur Apple ARM M1 il a été avancé que MacOS était un système d'exploitation particulièrement lent et Gabriele a voulu en voir le cœur net.
Il a donc décidé de comparer un build de Firefox sur sur un laptop Mac entre macOS 10.15 et Debian 10. Pour être sûr de ne tester que la partie OS les builds sont effectués dans une VM avec la paravirtualisation désactivée. Comme les ressources pour builder Firefox sont open-source elles sont identiques dans les deux cas et les seules variables consistent donc dans les bibliothèques bas niveau (libc, pthread), des outils communs (tar, cp) et l'OS lui-même.

Gabriele a testé plusieurs cas (en fonction de l'utilisation de sccache, avec cache vide ou pas).
Les résultats sont sans appel :

Build Debian macOS
No sccache 20:41 34:32
sccache, cold 22:10 38:34
sccache, hot 3:20 7:12

Comme on le voit les performances de MacOS sur ce test de build de Firefox sont vraiment désastreuses par rapport à un OS basé sur Linux.

Quelques réactions au test sur le forum :

"Linux is astonishingly good at this kind of thing, small tasks startup/exit, filesystem operations particularly. OSX doesn't stand a chance, it's like putting Mike Tyson against the Under-13 girls boxing champion".

"If Apple ever want to seriously sell or use their cores for anything outside the client market, they're going to have to open them up enough for them to run Linux. Looking forward to it".

Le post détaillé de Gabriele : https://www.realworldtech.com/forum/?threadid=197081&curpostid=197081

  • # Pertinence ?

    Posté par  (site web personnel) . Évalué à 10.

    Est-ce vraiment pertinent ?

    macOS n'est pas un bon système à virtualiser, d'ailleurs il n'y a même pas de moyen officiel de faire une VM macOS même sous mac. macOS est performant sur sa plateforme cible, un mac physique.

    J'aimerais bien voir ce test sous un vrai mac avec la puce M1, sans virtualisation (qui à priori est plus performante que certains i5 et i7).

    Pour ma part j'ai un MacBook (un i5 cependant) et un Thinkpad x1 Carbon (i7 de 3 ans), tous deux ont des performances équivalentes et mes projets compilent à quelques secondes près sur chacun d'eux.

    git is great because linus did it, mercurial is better because he didn't

    • [^] # Re: Pertinence ?

      Posté par  . Évalué à 0.

      Juste histoire de cbipoter, Mac OS 9 est tout à fait virtualisable, et c'était même une pratique courante aux débuts de Mac OS X : https://fr.wikipedia.org/wiki/Classic_(Mac_OS_X)

      Fin du chipotage. Et oui je sais, Mac OS 9 n'est qu'un lointain ancêtre de macOS ;-)

      BeOS le faisait il y a 20 ans !

      • [^] # Re: Pertinence ?

        Posté par  (Mastodon) . Évalué à 10.

        Mac OS 9 n'est pas un ancêtre de Mac OS X, même lointain. Si on voulait faire une métaphore familiale, ça serait plutôt un beau-frère ou un cousin par alliance.

        Les deux systèmes n'ont rien en commun techniquement, leur lien de parenté est purement contractuel.

    • [^] # Re: Pertinence ?

      Posté par  . Évalué à 4. Dernière modification le 23 novembre 2020 à 14:25.

      macOS n'est pas un bon système à virtualiser, d'ailleurs il n'y a même pas de moyen officiel de faire une VM macOS même sous mac. macOS est performant sur sa plateforme cible, un mac physique.

      Apple autorise la virtualisation de MacOS sur MacOS, ce qui a été testé ici.

      J'aimerais bien voir ce test sous un vrai mac avec la puce M1, sans virtualisation (qui à priori est plus performante que certains i5 et i7).

      Et dans ce cas ce sera biaisé dans l'autre sens puisqu'aucun OS tiers ne peut tourner sur ces machines pour le moment.

      mes projets compilent à quelques secondes près sur chacun d'eux.

      Ce n'est pas comparable à la compilation d'un navigateur web ou d'un noyau de système d'exploitation. L'écart qui peut paraître insignifiant (mettons par exemple 0,5s sur un petit projet) va devenir conséquent sur un gros projet, il suffit qu'il soit linéaire avec le nombre de fichiers à compiler.

      • [^] # Re: Pertinence ?

        Posté par  (site web personnel) . Évalué à 5.

        Pour continuer à chipoter:

        La compilation d'un navigateur est-elle une tâche pertinente pour mesurer les différences de performance de deux systèmes d'exploitation? si oui, pourquoi?

        • [^] # Re: Pertinence ?

          Posté par  (site web personnel) . Évalué à 10. Dernière modification le 23 novembre 2020 à 15:20.

          La compilation d'un navigateur est-elle une tâche pertinente pour mesurer les différences de performance de deux systèmes d'exploitation? si oui, pourquoi?

          C'est une tâche hautement pertinente pour un dev Firefox…et c'est d'ailleurs le métier de celui qui a réalisé le test.

          • [^] # Re: Pertinence ?

            Posté par  (site web personnel) . Évalué à 8.

            Je vais reformuler la question: admettons que le test ci-dessus démontre ce qu'il prétend démontrer à savoir que compiler Firefox serait plus lent sous MacOSX que sous Debian (j'en serai ravi pour Debian qui est une distribution que j'apprécie particulièrement et en plus je ne peux pas encadrer Apple sur un plan commercial). Cette différence de performance est elle ou non transposable à d'autres usages? La compilation n'est-elle pas une tâche trop spécifique et dont les résultats ne peuvent pas être généralisés?

            • [^] # Re: Pertinence ?

              Posté par  (site web personnel) . Évalué à 10.

              L'avantage c'est que c'est une tâche réelle, effectuée fréquemment par les développeurs et qui sollicite le CPU, les threads, les E/S.
              C'est mieux que des micro-benchmarks qui souvent ne sont pas transposables en tâches réelles.

              • [^] # Re: Pertinence ?

                Posté par  (site web personnel, Mastodon) . Évalué à 10.

                Si on veut faire une véritable comparaison des deux systèmes, proposons une tâche plus quotidienne qui permettra de tester l'utilité au quotidien.

                Cette tâche est la suivante : « Installer Firefox et visiter le site linuxfr.org ». Pour Debian comme pour MacOS, 10 volontaires ont été tirés au hasard.

                Les résultats sont sans appel.

                Pour MacOS:

                40% des volontaires ont réussi à installer Firefox. Sur ces 40%, seuls 1 a réussi à lancer Firefox après installation (les autres n'ont pas trouvé comment faire ou se sont effrayés à l'avertissement abscon).

                Des autres 60%, 30% ont accédé à linuxfr via Safari, sans le savoir. Les 30 derniers % sont encore en train de fouiller l'app store.

                Chez 100% des volontaires, le niveau de la carte de crédit à diminué.

                Pour Debian:

                1 seul des volontaires (10%) a réussi à installer Firefox. Il connaissait Ubuntu, a un doctorat en informatique et a réussi à compiler une version nightly en s'aidant d'un forum américain.

                40% sont encore à ce jour perdus dans des obscurs forums lettons qu'ils tentent de déchiffrer sur leur smartphone à coup de google translate.

                1 des volontaires est en train de tenter de patcher un driver propriétaire Nvidia. On n'a toujours pas compris comment il en est arrivé là.

                1 autre a complètement réinstallé une Ubuntu en suivant des instructions sur le web.

                2 ont été retrouvés, bavant devant une console et pleurant pour qu'on leur rende Windows.

                Le dernier, un barbu avec des sandales, a strictement refusé, arguant que Firefox est financé par Google et n'est pas vraiment libre. Il a accédé à Linuxfr via Links.

                Aucun n'a compris que Firefox était installé par défaut.

                Mes livres CC By-SA : https://ploum.net/livres.html

        • [^] # Re: Pertinence ?

          Posté par  . Évalué à 4.

          La compilation est fortement cpu bound, pas mal I/O bound aussi (dans un contexte très particulier, à savoir énormément de toutes petites i/o).
          Et ça se parallélise très bien, surtout sur de très gros projets comme ff.
          Donc oui, c’est un bon test de la puissance pure du cpu et du coup des i/o.

          après, c’est un peu dommage de tester x86 vs x86, plutôt que le sujet du moment, x86 vs m1.
          Les tests que j’ai vu la dessus que ce soit en ligne ou sur notre projet pro, indiquent que le m1 met la tannée au machines x86.

          Linuxfr, le portail francais du logiciel libre et du neo nazisme.

          • [^] # Re: Pertinence ?

            Posté par  . Évalué à 4.

            après, c’est un peu dommage de tester x86 vs x86, plutôt que le sujet du moment, x86 vs m1.

            Si on pouvait coupler des cœurs x86 avec la même archi mémoire que le M1, le résultat serait intéressant je pense. (Bon, et il faut avoir accès à la gravure 5nm de TSMC)

            Le M1 met la tannée aux machines x86, tant mieux, mais au prix d'une interdiction d'évolution du matériel. Cf par exemple https://www.theregister.com/2020/11/19/apple_m1_high_bandwidth_memory_performance/
            Et entre les performances immédiates et la possibilité d'évoluer mon matériel au fil des ans, je préfère le second. J'ai déjà «prolongé» beaucoup de machines, même portables, avec un changement de stockage ou de RAM. Apple a choisi de mettre le curseur ailleurs, grand bien leur fasse, mais il faudrait clairement l'indiquer quand on clame qu'on a la plus grosse :)

            • [^] # Re: Pertinence ?

              Posté par  . Évalué à 4.

              C’est sur, mais d’un autre côté, c’est pas nouveau, ça fait des années que la ram est soudée, en tout cas pour leurs laptops. Le stockage se rajoute facilement avec de l’usb c.

              Pour les desktops, c’est un peu plus discutable, c’est sur. Encore que les quantités de ram offertes ont pas évolué tant que ça ces dernières années, et sortie des cas pro très spécifique, je pense que le compromis n’en est pas vraiment un.

              Pour être tout à fait franc, mon laptop à bientôt 5 ans, je pourrais pas te dire si j’ai 8 ou 16gb de ram, et j’ai jamais eu de problèmes de ram, malgré xcode, moultes simulateurs, moultes instances d’intellij et beaucoup d’applis diverses et variées qui tournent en parallèle.

              Par contre, le throttling du cpu me pique tres souvent, plusieurs fois par jour. Et voyageant pas mal (bon, pas ces jours ci, forcément), la batterie est très importante.
              Donc la pour le coup, le x86 va pas me manquer. Sans parler des problèmes de fat frameworks x86 vs arm pour le development cross platform iOS/macOS (Mais ca c’est un problème super spécifique).

              Linuxfr, le portail francais du logiciel libre et du neo nazisme.

              • [^] # Re: Pertinence ?

                Posté par  (site web personnel) . Évalué à 5. Dernière modification le 24 novembre 2020 à 09:13.

                ça fait des années que la ram est soudée

                Pas que chez Apple, c'est même fréquents sur les ultrabooks. À force d'avoir des laptops ultra fins on ne peut plus avoir de flexibilité. Sur mon Thinkpad la RAM est aussi soudée mais pas le NVMe ce qui est plutôt bien car dans mon cas il a été défectueus au bout de 4 mois et remplacée sous garantie. En contrepartie, j'adore le fait que mon thinkpad rentre dans n'importe quel sacoche et m'offre un poids record de 1,1kg pour 14,1".

                git is great because linus did it, mercurial is better because he didn't

              • [^] # Re: Pertinence ?

                Posté par  . Évalué à 2.

                C’est sur, mais d’un autre côté, c’est pas nouveau, ça fait des années que la ram est soudée, en tout cas pour leurs laptops.

                On ne parle pas de RAM soudée là mais de RAM dans le SoC. Ce qui est, pour un ordinateur grand public, une nouveauté. D'ailleurs même sur des (grosses) cartes embarquées ce n'est pas systématique, cf. par exemple https://wiki.pine64.org/index.php?title=ROCKPro64#Board_layout ou la Raspberry Pi 4 (https://blog.seeedstudio.com/wp-content/uploads/2020/05/raspberry-Pi-4-8G-update2-.jpg) où les puces de RAM sont à côté du SoC.

                Pour être tout à fait franc, mon laptop à bientôt 5 ans, je pourrais pas te dire si j’ai 8 ou 16gb de ram, et j’ai jamais eu de problèmes de ram

                Pour ma part, j'ai déjà eu des problèmes avec 16GB où je n'arrivais pas à alimenter suffisamment en tâches mon CPU parce que je tombais à court de RAM… Du coup maintenant je suis passé à 32.
                Par contre dans le cas de gens lambda, j'ai déjà vu des machines saturées parce qu'elles n'avaient que 4GB, ce qui était encore fréquent il y a 5 ans, et carrément insuffisant avec un navigateur web moderne et quelques onglets d'applications web ouverts. L'ordinateur de ma compagne était dans ce cas…

                • [^] # Re: Pertinence ?

                  Posté par  . Évalué à 2.

                  On ne parle pas de RAM soudée là mais de RAM dans le SoC. Ce qui est, pour un ordinateur grand public, une nouveauté

                  ok, mais d’un point de vue évolution, ça change pas grand chose. C’était a ca que je répondais.

                  Pour ma part, j'ai déjà eu des problèmes avec 16GB

                  😳 la vache, tu fais quoi avec ta machine pour remplir 16Gb?

                  Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                  • [^] # Re: Pertinence ?

                    Posté par  (Mastodon) . Évalué à 2.

                    Pour des gens qui font du lab c'est pas déconnant de remplir 16GB. Tu me diras que tu peux faire ton lab sur un serveur distant ou dans le cloud ou autre et je te dirais que tu as raison. Mais parfois si tu veux faire une démo, être indépendant de questions bêtes de qualité de réseau tu peux le vouloir en local et/ou que tu as des prérequis particulier*.

                    Alors c'est pas forcément le cas d'usage de monsieur et madame tout le monde mais dans le monde de l'IT ce n'est pas toujours déconnant. Genre je suis le seul parmis mes 5 collègues à ne pas avoir demandé un laptop avec minimum 32GB pour avoir un lab kubernetes avec 3 control planes et 3 workers en local.

                    Exemple il y a peu de service clouds qui te permettent de monter un lab d'hyperviseur en faisant tourner un hyperviseur dans une vm. Et du cloud bare-metal à la longue ça peut coûter.

                  • [^] # Re: Pertinence ?

                    Posté par  . Évalué à 3.

                    😳 la vache, tu fais quoi avec ta machine pour remplir 16Gb?

                    Du dev embarqué notamment, et cross-compiler tout un système du noyau jusqu'à l'espace utilisateur, avec un QtWebEngine dans le lot parce que le client veut pouvoir afficher une page web… Ben avec 16GB j'étais très court. Je ne dis pas que ça ne passait pas, mais je devais fermer pas mal d'applis (IDE, navigateurs web…)
                    Le debug de gros binaires (pas embarqués pour le coup) est aussi assez délicat et peut consommer pas mal de RAM.
                    Et je ne parle pas de la virtualisation, quand tu as une VM qui a besoin de 8GB de RAM pour tourner et que tu cumules avec quelques trucs gourmand en local, tu t'approches bien plus vite des 16GB que tu ne l'espères…

                    Évidemment, je pourrais passer du temps sur tous les outils que j'utilise pour que tel ou tel outil d'analyse de perf soit moins gourmand en RAM, que tel programme soit plus économe… Mais je ne l'ai pas toujours donc j'ai du suivre le mouvement (par contre sur mon nouveau serveur perso j'ai 2GB de RAM et je ne compte pas passer à 4, donc les trucs pas optimisés seront rejetés ou corrigés… faut pas déconner)

                  • [^] # Re: Pertinence ?

                    Posté par  (site web personnel, Mastodon) . Évalué à 10.

                    😳 la vache, tu fais quoi avec ta machine pour remplir 16Gb?

                    Dans le multimédia aussi (son peut-être aussi, mais de façon certaine image/vidéo) aussi, 16GiB c'est loin d'être inadéquat. Le desktop utilisé pour produire ZeMarmot a 32GiB (et a été monté il y a 6 ans). Alors pour nous, 32GiB, c'est plutôt bien. On a rarement eu des problèmes de mémoire avec (peut-être quelques fois). 16GiB aurait clairement été trop limite.

                    Dans l'imagerie, certaines personnes vont travailler sur des images de 40.000 pixels de côté (un de nos contributeurs de longue date sur GIMP travaille régulièrement sur des scans très détaillés pouvant fréquemment atteindre ce type de dimensions; y a quelques semaines, il me semble aussi me rappeler d'un rapport de bug de quelqu'un qui travaillait sur une image en 60k×60k pixels). Imagine cela avec 100 calques, en 16 ou 32 bits par canal de couleur, etc. Ça monte vite!

                    En vidéo, comme nous, on travaille avec de plus petites tailles (mais néanmoins de plus en plus grosses, avec maintenant le 4K qui se démocratise, voire ceux qui veulent monter en 8K — comme si des gros chiffres allaient changer la qualité d'un film  ! —, le HDR, la 3D, etc.), mais aussi beaucoup de calques/pistes et beaucoup d'images à la fois. Ça monte vite aussi.

                    En tous cas, dans ces milieux, avoir même 64GiB de RAM se voit plutôt couramment. 16GiB, je ne dirais pas qu'on ne peut rien faire avec. Si tu es un designer qui travaille possiblement sur des images moins complexes. Ou même en illustration, selon ce que tu dessines et comment, ça peut être tout à fait utilisable. Et puis bien sûr, tu peux toujours essayer de grapiller de la mémoire ici ou là, par exemple si tu fermes tous tes autres programmes et ton navigateur web pendant que tu traites images/vidéos (ça rend un peu plus embêtant la recherche de références, etc.). En photographie, ça va dépendre aussi. Tu peux travailler sur des images de taille raisonnable sans faire tant de traitement. C'est possible. Cependant beaucoup de photographes ou artistes graphiques poussent assez loin. Dans les trucs un peu gros qu'on nous a envoyé récemment, y a une œuvre graphique avec presque 200 calques qui prend 28,2GiB en mémoire (pas une vidéo, pas une animation, juste une image unique), ou encore une unique illustration qui prend 16,6GiB en mémoire (pour info, GIMP est très bon pour traiter des images lourdes, même lorsqu'elles prennent plus de mémoire que disponible, auquel cas il passe sur un backend disque — donc un swap contrôlé — mais au moins ne plantera pas).

                    Mais dans certains cas plus pointus, si tu swappes trop souvent par manque de RAM, mieux vaut en acheter!

                    C'est simple, la mémoire est le composant le plus important dans ces milieux. Si tu peux te permettre, tu peux aussi avoir le meilleur processeur du monde, la carte graphique la plus performante qui soit (si tes logiciels savent en tirer partie), le SSD le plus rapide, etc. Mais si tu es limité financièrement (comme on l'est), il vaut mieux privilégier plus de RAM que le reste (attention, je dis pas de prendre des composants nuls, mais du milieu de gamme et beaucoup de RAM). En fait, c'est même l'un des cas où la quantité est plus importante que la qualité. Car même à choisir entre peu de RAM ultra-rapide et beaucoup de RAM un peu moins rapide, le second cas reste à privilégier si le premier cas ferait que tu manquerais de RAM (en effet, tu t'en fiches d'avoir la RAM la plus rapide du monde si tu n'en as pas assez et que tu te mets à swapper car même le SSD le plus rapide du monde serait énormément plus lent que de la RAM, même bas de gamme).

                    C'est un point intéressant à noter pour les nouveaux Apple (puisque c'est aussi le sujet de ce journal) car cette marque avait un temps eu un grand succès dans les milieux multimédias (et cette réputation perdure même si elle se perd progressivement, justement pour ce genre de choses). Or limiter les nouveaux modèles à 16GiB (je crois que c'était déjà le cas des précédents portables, d'ailleurs pour les portables en général c'est plutôt un max courant, mais par contre — si j'ai bien compris — les nouveaux Mac Mini sont aussi limités à 16GiB alors qu'auparavant ils montaient apparemment à 64GiB). Plus ça va et plus ils limitent les possibilités, et dans les forums multimédias, même les Apple-fans ne semblent pas si réjouis (je ne cherche même pas trop d'information sur ces machines car c'est un sujet qui m'intéresse moyennement mais même sans le vouloir, on entend beaucoup parler de ces machines ces derniers jours).
                    J'entends ou je lis des gens dire qu'au fur et à mesure des années, le matériel Apple devient de plus en plus un matériel de "hobbyiste", un "jouet". Bien sûr, une réputation ne se perd pas si rapidement, et le matériel va continuer à être acheté par tous ceux qui n'ont pas besoin d'autant de puissance (mais ironiquement ils vont acheter en se basant sur le marketing autour de la puissance du matériel; c'est "hype" en gros), comme tous les managers qui ont apparemment besoin d'une machine à plusieurs milliers d'euros pour naviguer le web et faire des slides.

                    Enfin bon, on verra comment ils évoluent, mais s'ils continuent sur cette lancée, à la fin, ils seront juste un matériel de luxe trop puissant pour le public non-technique, mais plus un matériel professionnel pour le public technique à cause du manque de fonctionnalités et de possibilité d'extensions.

                    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]

            • [^] # Re: Pertinence ?

              Posté par  (site web personnel) . Évalué à -1. Dernière modification le 24 novembre 2020 à 12:47.

              Et entre les performances immédiates et la possibilité d'évoluer mon matériel au fil des ans, je préfère le second.

              OK. vote avec tes thunes. Les autres vont aussi voter avec leur thunes, les 2 peuvent cohabiter… si il y a un réel intérêt.

              juste pour info : pour les smarphones ou tablettes, les gens ont déjà largement voté. Je parie que pour le desktop ça va aussi être le cas, surtout que de nos jours la quantité de RAM ne va pas trop gêner à long terme, ça va il y a de quoi faire déjà avec 8 Go.

              Apple a choisi de mettre le curseur ailleurs, grand bien leur fasse, mais il faudrait clairement l'indiquer quand on clame qu'on a la plus grosse :)

              Pas utile car 99% des gens ne rajoutent jamais de RAM. C'est juste pour certaines personnes qui ont du mal avec l'intégration que s'amène sur le desktop. Un détail pas si génant en réalité, le monde change, l'intégration se fait, et systemd est la (oui, troll sur la résistance au changement d'intégration).

              Le M1 met la tannée aux machines x86, tant mieux, mais au prix d'une interdiction d'évolution du matériel.

              Comme quand on a arrêté de mettre des emplacement RAM sur les carte vidéo. Qui se souvient que ça a existé et que maintenant c'est "interdit"? Bref, en fait le prix à payer est si faible par rapport au gain (immédiat ET à long terme dans les futurs développements en réalité)…

              • [^] # Re: Pertinence ?

                Posté par  (Mastodon) . Évalué à 2.

                Un détail pas si génant en réalité, le monde change, l'intégration se fait, et systemd est la (oui, troll sur la résistance au changement d'intégration).

                Ah bon ?
                Pourtant j'ai une distrib rolling-release, à jour, sans modification particulière de ce côté là, avec des versions très récentes des logiciels inclus et accès à une logithèque assez énorme en une ligne de commande (pas autant que chez Debian, mais pas loin).
                Et nulle-part il n'y a trace de systemd…

                Comme quoi, le changement n'est pas toujours une obligation pour être moderne.

                • Yth.
              • [^] # Re: Pertinence ?

                Posté par  . Évalué à 2. Dernière modification le 25 novembre 2020 à 15:57.

                juste pour info : pour les smarphones ou tablettes, les gens ont déjà largement voté. Je parie que pour le desktop ça va aussi être le cas, surtout que de nos jours la quantité de RAM ne va pas trop gêner à long terme, ça va il y a de quoi faire déjà avec 8 Go.

                Ca a rien a voir, un smartphone tu le gardes 2-3 ans, un laptop facile 5 ans, et un desktop encore plus.

                Et sincèrement non, 8 GB c'est pas grand chose. Je suis assez surpris de ce choix d'Apple pour être honnête: le processeur a l'air super sympa, ca donne vraiment envie de switcher sur arm, mais la ram me parait sous dimensionnée.

                On est en 2020, j'ai peut être une utilisation un peu gourmande mais franchement j’achèterai pas moins de 32 GB de ram. Ca me parait etre ce qu'il faut pour les 5 ans et + a venir.

                • [^] # Re: Pertinence ?

                  Posté par  (Mastodon) . Évalué à 2.

                  Avec leur laptops dont les cartes nvidia grillaient invariablement, tu peux te brosser pour avoir un macbook fonctionnel après 5 ans.

                  J'exagère un peu mais certains modèles n'ont pas fait long feu.

                • [^] # Re: Pertinence ?

                  Posté par  . Évalué à 1.

                  • [^] # Re: Pertinence ?

                    Posté par  . Évalué à 6.

                    J'ai un peu l'impression que les use cases proposés n'ont pas fait swapper la machine.

                    Si c'est le cas, ben oui les performances entre la machine avec 8GB et 16GB sont comparables… tant que tu swap pas.

                • [^] # Re: Pertinence ?

                  Posté par  (site web personnel) . Évalué à 4.

                  16 Go restent largement assez pour beaucoup d'usages.
                  Pour le reste… c'est un premier jet, et je ne doute pas qu'en 2021 on aura un processeur M2 avec 32 ou 64 Go.
                  Ça ne me choque pas qu'ils se lancent avec une gamme assez restreinte (déjà, 3 modèles, c'est pas mal, c'est même plus que lors du passage à Intel).

                  • [^] # Re: Pertinence ?

                    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 26 novembre 2020 à 07:15.

                    et je ne doute pas qu'en 2021 on aura un processeur M2 avec 32 ou 64 Go.

                    Ca semble se diriger vers 12 core (8 puissants + 4 petits) avec 32 Go.
                    L'amusant dans les commentaires est de râler pour le plaisir, fidèle à la réputation française (plus qu'ailleurs, même si existe ailleurs aussi), je note donc :
                    - RAM intégré c'est caca (c'est l'évolution logique, déjà fait ailleurs pour l'intégration et 99% des gens préfèrent l'intégration à l'évolution)
                    - Pas assez puissant (c'est un début, jamais été dit que c'était pour les machines puissantes au début, et allez on va dire que ça suffira à 90% des gens)

                    C'est fou comme les gens peuvent être capables de s'inventer des problèmes quand il n'y en a pas :). En attendant, le monde continuera d'évoluer "pas comme ils aiment", vu qu'en réalité ils prendront ces machines conspuées quand ca arrivera pour eux (je parie que dans quelques années ça arrivera chez Intel/AMD, si ils n'abandonnent pas le marché Desktop d'ici la) car en réalité ils ne seront pas prêts à payer plus cher pour leur besoins (pas) différents.

                    Au final, les autres ont surtout retenu qu'Apple a fait très fort, que ça montre d'autant plus qu'Intel a merdé depuis des années (on le voyait déjà avec les perfs qui n'augmentaient que très très peu entre "générations"), et qu'il y a un énorme potentiel à long terme.

                    • [^] # Re: Pertinence ?

                      Posté par  (site web personnel) . Évalué à 2.

                      Bof, je ne vois pas en quoi c'est une spécificité française : sur à peu près tous les forums on a des gens (certainement une minorité) qui râlent.

                      • [^] # Re: Pertinence ?

                        Posté par  . Évalué à 10.

                        J'ai surtout l'impression que la spécificité française, c'est de râler contre les français qui râlent.

                    • [^] # Re: Pertinence ?

                      Posté par  . Évalué à 2.

                      • RAM intégré c'est caca (c'est l'évolution logique, déjà fait ailleurs pour l'intégration et 99% des gens préfèrent l'intégration à l'évolution)
                      • Pas assez puissant (c'est un début, jamais été dit que c'était pour les machines puissantes au début, et allez on va dire que ça suffira à 90% des gens)

                      Etant donne que le CPU est assez performant, je pensais qu'on pouvait classer cette machine dans la catégorie des "machines puissantes". Je dis juste que la mémoire me parait mal dimensionnée pour une machine que l'on pourrait qualifier de puissante.

                      Et en fait, le fait que la ram soit intégrée et non soudée, ca change justement ce détail: il faut anticiper nettement plus en amont ou est le marche, il suffit pas de changer la barrette de ram sur une ligne de prod.

                      Du coup, on se retrouve dans la situation ou Apple ne savait peut etre pas que son cpu serait aussi performant et que la machine serait plus low-end, ou a peut etre estime que c’était suffisant, d'autant plus qu'ils ont fait pas mal d'optimisations.

                      Mais sinon non, pour te rassurer, je pense que c'est une très belle machine et une prouesse technique importante. Une machine de ce genre sera tres certainement mienne, dans une prochaine évolution certainement et pas avec cet OS, bien sur.

                      • [^] # Re: Pertinence ?

                        Posté par  (site web personnel) . Évalué à 4. Dernière modification le 26 novembre 2020 à 15:26.

                        je pensais qu'on pouvait classer cette machine dans la catégorie des "machines puissantes".

                        On parle d'un mac mini de base, d'un mac book air ou pro 13" et pas 16"… Bref de leur bas de gamme. Les références changent.

                        Je dis juste que la mémoire me parait mal dimensionnée

                        Je me permet de faire plus confiance dans ceux qui mettent l'argent pour faire le CPU et qui le vendent que dans les piliers de bar virtuels (et je me comprend dedans) sur le dimensionnement.
                        Faut peut-être arrêter d'imaginer que nos besoins sont ceux de tout le monde. les PC autour de 8 Go pour les gens lambda, 16 pour les gens ayant de la thune à claquer, au final 32 Go est utile pour des dev ou des retouche de video surtout soit pas la cible des machines vendues. (troll) Même firefox a besoin de moins que ça, mais de CPU pour faire vite afficher les pages.

                        ca change justement ce détail: il faut anticiper nettement plus en amont ou est le marche, il suffit pas de changer la barrette de ram sur une ligne de prod.

                        Quel pourcentage de personnes changent leur RAM dans la vie d'une machine? Pas dans ton entourage, je demande de manière générale… Même moi j'ai passé le temps de cet upgrade, j'achète toujours en pièces détachée mais change tout (CM+CPU+RAM) en une fois.


                        Ma critique est surtout cette idée de savoir mieux que les autres quel est le bon "ratio" pour le cas général, en se basant sur son usage pas habituel. Non, eux savent peut-être (voire sas doute voire certainement) mieux que vous, et ça vaut pour pas mal de chose (cette manie de remettre en cause le choix des autres…).

                        • [^] # Re: Pertinence ?

                          Posté par  . Évalué à 4.

                          On parle d'un mac mini de base, d'un mac book air ou pro 13" et pas 16"… Bref de leur bas de gamme. Les références changent.

                          C'est pas ce que j'ai compris, il a l'air vraiment costaud ce processeur:

                          https://www.macg.co/mac/2020/11/apple-m1-une-puce-plus-puissance-que-le-core-i9-du-macbook-pro-16-pouces-117713

                          Quel pourcentage de personnes changent leur RAM dans la vie d'une machine? Pas dans ton entourage, je demande de manière générale… Même moi j'ai passé le temps de cet upgrade, j'achète toujours en pièces détachée mais change tout (CM+CPU+RAM) en une fois.

                          Mon point, c'est qu'avec la ram directement sur le SoC le fabricant peut moins facilement qu'avant proposer un large choix de configurations, car cela veut certainement dire de refaire un design de processeur (a moins que cela soit une dual die ?), ce qui coute assez cher, en tous cas beaucoup plus que d'avoir un autre composant sur la ligne de montage.

                          Du coup, des configs atypiques au sens du marche, les outliers un peu goinfre en ressources comme une machine de développeurs, ont tendance a pas etre couverts car ils ne sont pas rentables avec ce genre d'architecture.

                          • [^] # Re: Pertinence ?

                            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 26 novembre 2020 à 16:14.

                            il a l'air vraiment costaud ce processeur

                            Ca ne change pas le fait (et c'est bien un fait, regarde si il y a moins cher dans les offres Apple) que la cible est le bas de gamme, pas la faute d'Apple si Intel est à la ramasse.

                            Du coup, des configs atypiques au sens du marche, les outliers un peu goinfre en ressources comme une machine de développeurs, ont tendance a pas etre couverts car ils ne sont pas rentables avec ce genre d'architecture.

                            Un dev aime bien aussi la vitesse.
                            Tu prends le CPU qui va avec la RAM que tu veux, ça restera moins cher que de faire une petite série pour ton besoin qui se remplit très bien avec l'autre CPU (qui peut le plus peut le moins).

                            Bref, des problèmes qui n'existent pas en réalité, sauf pour ceux qui veulent du choix inutile par rapport aux coûts, rien de nouveau mais dommage qu'on arrive pas à flinguer ces idées qu'il faudrait des trucs adapté précisément. ceci-dit, ça me rappelle bein le délire franco-français qui a lamentablement échoue d'ATM contre IP, ATM qui a des contrats précis pour la qualité mais hcer contre Ethernet/IP qui a dit "ça coûte trop cher de gérer la qualité, je met un tuyau 3x plus gros et ça passera", qui a gagné? La, c'est pareil, si Intel veut continuer à te faire plaisir soit mais les autres offriront "plus gros qui remplit le taf pour moins cher" et il coulera, car en réalité tu ne voudras pas de leur offre "adaptée" plus cher contrairement à ce que tu laisses imaginer

                            conclusion : il n'y a pas de problèmes majeurs avec la RAM intégrée, au contraire.
                            On a fait le tour, je m'arrête la, l'histoire confirmera.

                            • [^] # Re: Pertinence ?

                              Posté par  . Évalué à 3. Dernière modification le 26 novembre 2020 à 16:42.

                              La, c'est pareil, si Intel veut continuer à te faire plaisir soit mais les autres offriront "plus gros qui remplit le taf pour moins cher" et il coulera, car en réalité tu ne voudras pas de leur offre "adaptée" plus cher contrairement à ce que tu laisses imaginer

                              Je laisse imaginer rien du tout, au contraire en fait, tu surinterpretes beaucoup. Je pense effectivement cela deviendra non rentable de couvrir ces marches de niche, et si cela se generalise, on aura bien du mal a trouver des laptops en mode dev.

                              Du coup, on risque de se retrouver a travailler soit sur des desktops, soit en mode minitel a se connecter sur un serveur, si on arrive pas a tenir sur la ram disponible.

                              Et encore une fois pour etre bien clair, la machine a plein d'avantages comme le fanless, la puissance du cpu ou le prix assez contenu, du coup ca va marcher, c'est évident.

                              • [^] # Re: Pertinence ?

                                Posté par  (site web personnel) . Évalué à 3. Dernière modification le 26 novembre 2020 à 17:01.

                                on aura bien du mal a trouver des laptops en mode dev.

                                Je parie sur le Mackbook pro 16" avec 32 Go de RAM possible.
                                D'autres constructeurs (avec du Intel? leur ARM?) pourront proposer (pas comme si on avait que 3 modèle de téléphone mobile… donc avec plein de RAM)
                                Je ne vois pas ce que tu auras du mal à trouver, encore une fois c'est le bas de gamme qui est affiché, le haut de gamme dont tu as besoin va arriver même chez Apple.

                                si on arrive pas a tenir sur la ram disponible.

                                Faut peut-être arrêter le délire, tous les dev n'ont pas besoin de plus de 16 Go de RAM (déjà proposé en bas de gamme mais pas tout bas de gamme par Apple).

                                tu surinterpretes beaucoup

                                Et je dirai que tu imagines des problèmes qui n'arriveront pas, ce n'est pas moi qui balance qu'on aura un pb en tant que dev genre minitel, tu auras ton portable de dev sans problème.

                          • [^] # Re: Pertinence ?

                            Posté par  (Mastodon) . Évalué à 2. Dernière modification le 26 novembre 2020 à 16:47.

                            Quand je vois la quantité de modèles différents que des marques de smartphones comme Samsung, LG, Huawei proposent à dont des myriades de modèles quasi identiques en specs à quelques mpixels de + ou de moins sur la camera ou quelques GB ou Mhz de plus ou de moins au niveau de la ram ou du CPU je me dis que produire des devices aux specs différentes ne sont pas si difficile que ça. Si le coût de production était si élevé les constructeurs vendraient des smartphones identiques mais bridés au niveau software.

                            Je suis allé m'amuser chez Samsunng, nombre de specs possibles (sans compter les couleurs de coques) de smartphones:
                            Galazy Z : 1
                            Galaxy S: 13
                            Galaxy Note: 4
                            Galaxy A : 9
                            Galaxy M : 2 modèles

                            Ça fait 24 modèles de téléphones dont 11 entre 160 et 400€ et 18 dans la catégorie des prix débiles.

                            Si vraiment ça coûtait cher à produire ils auraient fait 10-12 modèles entre 150 et 1250€ et basta.

                            Alors Apple ne va pas faire ça car ce n'est pas dans leur ADN d'offrir 200 modèles différents mais ce n'est pas le coût qui est un problème. C'est plus une question d'image de marque. Un Samsung essaie de te vendre un appareil qui peut convenir à tout type de demande client. Un Apple décide pour toi ce que tu as besoin et pis c'est tout.

                          • [^] # Re: Pertinence ?

                            Posté par  (site web personnel) . Évalué à 4.

                            Mon point, c'est qu'avec la ram directement sur le SoC le fabricant peut moins facilement qu'avant proposer un large choix de configurations, car cela veut certainement dire de refaire un design de processeur (a moins que cela soit une dual die ?), ce qui coute assez cher, en tous cas beaucoup plus que d'avoir un autre composant sur la ligne de montage.

                            Beh il peut produire des SoC avec n Go et vendre des variantes avec n/2 ou n/4 dont les individus n'auront pas passé tous les tests de qualité sur tout le volume de mémoire. C'est une pratique qui est courante avec les processeurs et motivée par la réduction du taux de déchet.

                            Adhérer à l'April, ça vous tente ?

                    • [^] # Re: Pertinence ?

                      Posté par  . Évalué à 3. Dernière modification le 29 novembre 2020 à 09:39.

                      • RAM intégré c'est caca (c'est l'évolution logique, déjà fait ailleurs pour l'intégration et 99% des gens préfèrent l'intégration à l'évolution)

                      95% de ces 99% ne savent pas:
                      - Ce que c'est que la RAM
                      - Que c'est souvent le facteur limitant à la performance
                      - Qu'on peut en ajouter facilement et pour pas cher sans changer de machine

                      Donc dire qu'ils préfèrent l'intégration à la possibilité d'évolution en connaissance de cause je ne suis pas d'accord. Même si je suis d'accord qu'une majorité n'y touchera jamais. Pour une utilisation personnelle, c'est probablement suffisant pour pratiquement tout le monde.
                      J'ai dû ajouter de la mémoire dans ma machine pro, je suis passé de 16 à 32. Je n'ai pas une utilisation folle, je développe avec un émulateur Android, plus Android Studio et quelques onglets de navigateurs et tu y es vite.
                      Pour une machine professionnelle qu'on garde plusieurs années, ça aurait fait tâche de devoir tout racheter (et à réinstallation qui va avec).

    • [^] # Re: Pertinence ?

      Posté par  (site web personnel) . Évalué à 7. Dernière modification le 23 novembre 2020 à 16:59.

      Ce serait intéressant d'avoir les chiffres du build sans virtualisation, pour savoir si la lenteur relative est due à MacOS ou à sa virtualisation.

      Expérience de perf catastrophique sous Windows : une commande git pour tester le status des fichiers sur un très gros repo => 20 secondes sous Windows, 0.5 sous une VM Linux. La faute à NTFS? À l'antivirus? Maintenant les différences de perf s'un système à l'autre ne me surprennent plus.

      • [^] # Re: Pertinence ?

        Posté par  . Évalué à 4.

        les différences de perf d'un système à l'autre plus médiocre que linux ne me surprennent plus.

      • [^] # Re: Pertinence ?

        Posté par  . Évalué à 3.

        Une des raisons possible est que la création de processus est plus couteux sous windows que sous Unix ( Un début d'explication: https://stackoverflow.com/a/48244/717372 ).

        Et donc, bien souvent les programmes venant d'Unix et qui utilisent beaucoup le fork, comme Git (et ses scripts bash qui sont de plus en plus convertis en C pour résoudre exactement ce problème), sont souvent plus lents sous Windows…

  • # Et le compilateur?

    Posté par  . Évalué à 10.

    «les seules variables consistent donc dans les bibliothèques bas niveau (libc, pthread), des outils communs (tar, cp) et l'OS lui-même»

    Et le compilateur? Je trouve étrange que rien ne soit mentionné au sujet du compilateur. GCC? LLVM? version?

    Et même en supposant que les compilateurs soient identiques, il serait bien de s'assurer qu'ils étaient compilés de façons identiques. Plus généralement, il faudrait probablement recompiler tout les outils de compilations.

    • [^] # Re: Et le compilateur?

      Posté par  (site web personnel) . Évalué à 6.

      Je connais bien Gabriele et Firefox donc je me permets de répondre pour lui.

      Je ne doute pas que Gabriele ait utilisé le Clang que Mozilla recompile avec LTO/PGO.
      Ils sont compilés de la même manière (stage 3/4, etc). Et niveau du compilateur en tant que tel, Clang n'a pas avoir beaucoup de code spécifique à une plateforme.
      Ditto pour Rust.

  • # NSObject sur M1

    Posté par  . Évalué à 5.

    Un tweet que j'ai trouvé intéressant, ça serait entre autre dû aux tailles des caches du M1:

    « David Smith:
    fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.5 nanoseconds on an M1 »

    « …and ~14 nanoseconds on an M1 emulating an Intel 😇 »

    « (The price we pay for this is that certain kinds of multithreading bugs can remain dormant on Intel but become symptomatic on M1. Use Thread Sanitizer to test your apps!) »

    https://mobile.twitter.com/Catfish_Man/status/1326238434235568128

    • [^] # Re: NSObject sur M1

      Posté par  . Évalué à 6.

      C’est pas grâce aux caches, mais grace à un modèle mémoire différent qui leur permet de faire des opérations atomiques beaucoup plus rapidement. Le prix à payer est que des bugs multithreadés cause par un mauvais code vont se manifester, la ou la version x86 l’aurait empêché.
      https://twitter.com/catfish_man/status/1326269594818891776?s=21

      Linuxfr, le portail francais du logiciel libre et du neo nazisme.

      • [^] # Re: NSObject sur M1

        Posté par  . Évalué à 2.

        Merci pour l'apport ! :)

        • [^] # Re: NSObject sur M1

          Posté par  . Évalué à 4.

          Pour en rajouter une couche, le retain/release chez Apple, c’est tout un art.
          Les chiffres qu’il donne sont pour le « happy path » il me semble, à savoir un retain count suffisamment bas, sans weak references.

          Dans ce scénario, le retain count est stocke directement dans le pointer, un retain release devient donc une opération très simple de compare and swap.

          Bien sur, cette optimisation n’est efficace que dans le cas de base, à savoir un retain count qui rentre dans les qq bits alloués dans le pointeur, sans weak references.
          Note qu’ils font le même genre de tours de magies avec NSNumber, ou la valeur est stockée directement dans les pointeurs.

          C’est bon de garder ça à l’esprit quand la team runtime chez Apple se vante de leurs performances. Ça reste très impressionnant quand même, et ça marche très bien la plupart du temps, mais il faut se rappeler que tu peux facilement rentrer dans le slow path, qui va clairement pas tourner en 15 nanosecondes.

          Linuxfr, le portail francais du logiciel libre et du neo nazisme.

          • [^] # Re: NSObject sur M1

            Posté par  (site web personnel) . Évalué à 3.

            Si c'est le cas de 90 % des pointeurs, et que le slow path est un retain/release "standard" à la perf équivalente à un smart_ptr C++, moi je dis banco.

            Vu que Apple est passé All-In sur l'ARC et que Swift l'utilise à fond, c'est justement des optimisations comme celles-là qui prennent tout leur sens.

            • [^] # Re: NSObject sur M1

              Posté par  . Évalué à 3.

              90% est probablement le bon ordre de grandeur, donc oui, ça accélère beaucoup les choses. Ce changement a méchamment cassé du code très utilisé en production (jsonkit notamment), ils l’ont pas prit à la légère.

              Weak reste très courant, et est problématique, vu qu’il faut implémenter le reverse lookup, à la fois au retain et au release.

              Je voulais préciser que les performances de retain/release chez apple (et d’une bonne partie du runtime objc) sont pleines de fast/slow paths.

              Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • # 🎅🎁

    Posté par  . Évalué à 2. Dernière modification le 24 novembre 2020 à 22:26.

    En gros, il est comme Linus, il aimerait bien pour noël un MacBook Air M1 déverrouillé. Mais on sait bien que le père noël …

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.