Devise an object-oriented construct that expresses a simple aggregation of values.
Help programmers to focus on modeling immutable data rather than extensible behavior.
Automatically implement data-driven methods such as equals and accessors.
Preserve long-standing Java principles such as nominal typing and migration compatibility.
Non-Goals
It is not a goal to declare a "war on boilerplate". In particular, it is not a goal to address the problems of mutable classes which use the JavaBeans naming conventions.
It is not a goal to add features such as properties or annotation-driven code generation, which are often proposed to streamline the declaration of classes for "Plain Old Java Objects".
Bref ça que l'on cherche à bien configurer ses machines c'est une bonne chose, mais ça ne me semble pas pour autant remettre en cause une solution simple.
Bref les GC modernes ne sont pas un problĂšme dans les jeux.
On ne les utilise pas dans les parties critiques donc ce n'est pas un problĂšme ? Soit.
Dis autrement ce n'est pas une question de performance des gc qui permet ça. Juste qu'on a construit des frameworks pour dissocier la partie critique de l'application. C'est une trÚs bonne chose, hein pas une critique du tout.
libgdx, pygame,... sont en C ou C++ plus qu'en python ou java quand ce n'est pas simplement sdl qui fait toutes la partie critique en terme de perf par exemple
Pourquoi ces jeux sont fluides et n'ont pas de gros ralentissements dĂ» Ă un ramasse miette ArrĂȘte Le Monde?
Tu as bien plus drĂŽle Ă faire : utiliser des lambda comme callback sans te rendre compte que ce que tu capture dans ta fermeture. Ăa touche tous langages objet qui a des lambdas et personne ne peux rien pour toi. C++ est peut ĂȘtre un peu mieux loti car il rends explicite la capture, mais pas au point de voir quel objet est dans la capture.
[^] # Re: Immutables
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Java 15 est sorti. ĂvaluĂ© Ă 3.
C'est pour ça que je parlais de réduire.
C'est pas ce qu'ils indiquent pour la mémoire et la perf :
Je ne vois rien qui parle de performance ou de mémoire, par contre je trouve drÎle qu'ils cherchent à simplifier la création de structures simples sans faire la guerre au boilerplate. Je comprends plus ou moins l'idée, mais la façon dont c'est présenté dans la JEP me semble surtout chercher à montrer qu'ils ne veulent pas intégrer cette syntaxe dans les objets classiques.
De mon humble avis l'un des gros objectif finaux des records mĂȘme si ce n'est pas encore implĂ©mentĂ© c'est de pouvoir les dĂ©construires.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Plus de Firefox pour moi
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Histoire des systĂšmes dâextensions de Firefox. ĂvaluĂ© Ă 3.
Je trouve que c'est aller un peu vite. Personnellement mes onglets sont verticaux (grùce à tabcenter-redux que je préfÚre à Tree Style Tab) c'est impossible avec chrome par exemple. Je ne sais pas par contre ce qui fait utiliser Chrome pour un utilisateur éclairé (c'est à dire qui a connaissance des 2, qui sait les installer,...). Je crois avoir entendu dire que les outils de dev étaient un peu mieux, mais je suis pas sûr que ce ne soit pas un problÚme d'habitude par exemple.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Plus de Firefox pour moi
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Histoire des systĂšmes dâextensions de Firefox. ĂvaluĂ© Ă 10.
Si tu indiquait un Ă©lĂ©ment concret, ça pourrait peut ĂȘtre amener une discussion.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: ModĂšle dâattaque
PostĂ© par barmic 𩩠. En rĂ©ponse au journal free et ipv6. ĂvaluĂ© Ă 10.
Compter sur le fait que tous les services de toutes les machines qui passent sur ton rĂ©seau soient bien configurer me semble aussi une erreur, d'autant que tu n'administre pas forcĂ©ment toutes les machines de ton rĂ©seau. Entre le pc du pote qui vient passer la soirĂ©e, les smartphones d'amis venu prendre l'apĂ©ritif et voulant montrer leur photo de vacances, la console de jeu dont tu n'est pas administrateur, cette ampoule connectĂ©e qu'on t'a offert et qui bien que non hackable fait quand mĂȘme le taff, l'imprimante rĂ©seau dont il n'est pas sĂ»r que son implĂ©mentation soit solide, etc
Bref ça que l'on cherche à bien configurer ses machines c'est une bonne chose, mais ça ne me semble pas pour autant remettre en cause une solution simple.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Peur / liberté ce ne sont pas les facteurs pertinents.
PostĂ© par barmic 𩩠. En rĂ©ponse au lien Covid-19 : nous ne voulons plus ĂȘtre gouvernĂ©s par la peur - tribune. ĂvaluĂ© Ă 2.
Oui, mais il faut aussi le voir Ă l'envers. Aller voir un mĂ©decin pour avoir un arrĂȘt de travail parce que tu as 3 symptĂŽmes bĂ©nins qui ne t'empĂȘchent pas vraiment de travailler (mĂȘme moins productif). C'Ă©tait pas non plus forcĂ©ment trĂšs bien vu.
C'est moins une question de responsabilitĂ© personnelle que de prise en compte et d'organisation collective (simplification des dĂ©marches, accepter qu'une maladie ou un symptĂŽme n'est pas inventĂ©, mise en place du tĂ©lĂ©travail, de rendez-vous mĂ©dicaux Ă distance, arrĂȘter de regarder bizarrement quelqu'un qui porte un masque, etc).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# Benchmark
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Histoire des systĂšmes dâextensions de Firefox. ĂvaluĂ© Ă 10.
Je trouve ça trÚs intéressant. C'est un super exemple pour montrer comment se concentrer sur des benchmarks sans les remettre en cause et sans prendre le temps de remettre l'utilisateur au centre peut mener à des problÚmes.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Initiative courageuse...
PostĂ© par barmic 𩩠. En rĂ©ponse au lien Covid-19 : nous ne voulons plus ĂȘtre gouvernĂ©s par la peur - tribune. ĂvaluĂ© Ă 2.
Tu décris des méchants de totally spies et tu dis que ce n'est pas manichéen ?
Les gens ne se disent pas qu'ils vont tester des lois comme dans les mission impossible on test des virus avant de les répandre sur le monde avec un rire de méchant. Non ils ont juste une idée différente de l'économie et suivent dur comme fer des économistes de renom bien plus caler que nous ne le seront jamais. Ce qu'il y a c'est qu'ils ne remettent pas en question ce qu'ils savent ou croient savoir alors que :
Donc je réfute le machiavélisme que tu semble leur donner.
Pour ce qui est de la communication, encore une fois l'expĂ©rience montre qu'ils font peur mĂȘme quand il n'y a aucun enjeu. Affirmer sans autre argument que "ça doit bien exister" qu'il y a un dessein derriĂšre cela est plus proche de la thĂ©orie du complot que de l'argumentation Ă©clairĂ©e.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Initiative courageuse...
PostĂ© par barmic 𩩠. En rĂ©ponse au lien Covid-19 : nous ne voulons plus ĂȘtre gouvernĂ©s par la peur - tribune. ĂvaluĂ© Ă 1.
Non c'est juste la rasoir d'ockham et tes deux arguments ne tiennent pas pour moi.
On ne peut pas ĂȘtre terrorisĂ© en continue donc oui comme tous ils font des erreurs dans la pratique. Ils sont aussi bien plus surveillĂ©. C'est tellement agrĂ©able de pouvoir montrer qu'ils fautent.
La mesure de la peur est relativement compliquée et nous avons des exemples précédents le virus qui montrent que l'état français applique une doctrine qui engendre la peur sans la remettre en cause. C'est particuliÚrement difficile de prendre le risque de remettre en cause ce genre de doctrine pendant la crise. Je pense par exemple à l'incendie de Nantes.
Loin de moi l'idée de tout pardonner juste une explication moins manichéenne et diabolisante.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 2.
Je ne connais pas.
Pour les pool d'objets dont tu parlais plus haut, c'est tout de mĂȘme assez relou Ă faire. Tu reconstruit un fonctionnement Ă la malloc/free avec tous les problĂšmes qui vont avec (use after release, fuite mĂ©moire,...) et ton pool ne doit pas ĂȘtre un point de contention vu que tu va l'utiliser sur une partie du code plutĂŽt stressĂ©e.
Je crois que ça peut ĂȘtre plus propre en C++ en utilisant un allocateur personnalisĂ© (c'est transparent Ă l'usage tant que tu utilise du RAII).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 2. DerniĂšre modification le 08 septembre 2020 Ă 15:17.
Ăa n'est pas la partie critique.
On ne les utilise pas dans les parties critiques donc ce n'est pas un problĂšme ? Soit.
Dis autrement ce n'est pas une question de performance des gc qui permet ça. Juste qu'on a construit des frameworks pour dissocier la partie critique de l'application. C'est une trÚs bonne chose, hein pas une critique du tout.
LĂ c'est encore trĂšs diffĂ©rent. Pour un deamon qui aura par nature une durĂ©e de vie plus longue, c'est bien plus simple d'utiliser un gc pour limiter la fragmentation mĂ©moire. Mais mĂȘme comme ça les appli qui ont une certaine criticitĂ© vont faire du off the heap.
De mon avis perso, « 99 % des appli » devraient plus s'intéresser à la correction qu'à la performance et donc éviter à tout prix de manipuler à la main la mémoire.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 3.
libgdx, pygame,... sont en C ou C++ plus qu'en python ou java quand ce n'est pas simplement sdl qui fait toutes la partie critique en terme de perf par exemple
Parce que la mémoire n'est pas géré par le garbage collector. Quand ut garde une taille de heap petite ça fonctionne bien.
Qu'il y ai des optimisations possibles on est d'accord, mais elles ne peuvent pas tout. Tu ne peux pas allouer directement un objet en old generation par exemple ce qui permettrait de ne pas voir ton gc passer des objets que tu sais qu'ils ne sont pas à détruire.
Je crois que l'allocation mémoire est plus coûteuses en natif que dans la JVM qui gÚre déjà sa mémoire vis à vis de l'OS.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 5.
Tu veux dire le nombre de jeux qui utilisent un gc en frontend ? Oui il y en a pas mal, mais il n'y a aucune contrainte pour ce genre de code. Ce n'est pas la prouesse de leur gestion mémoire qui permet ça, mais leur capacité à s'interfacer avec du code natif. C'est pour ça qu'on trouve lua par exemple.
Pour parler de java, je doute que l'on trouve une application dont la mémoire est crucial qui ne fasse pas du off the heap.
C'est comme dire que la gestion mémoire de python est sacrément bonne parce que si on utilise numpy ça déchire. C'est moins sa gestion mémoire que la qualité de son interface avec du natif que l'on estime.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Question sur le jitter entropy
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Des nombres alĂ©atoires dans le noyau Linux. ĂvaluĂ© Ă 2.
Mais ça n'est pas stable non plus.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Question sur le jitter entropy
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Des nombres alĂ©atoires dans le noyau Linux. ĂvaluĂ© Ă 3.
Jusqu'Ă ce que la moyenne se stabilise.
Du code qui fait des io est pratique pour ça.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 1.
Dépend des usages, ça. ZGC qui est monstrueux annonce 2ms, ce qui est bien trop important pour un jeu vidéo temps réel.
Je n'ai jamais essayé azul zing.
Ils ne bloquent jamais toute l'application, ils sont totalement prédictibles, ils ne prennent pas de temps CPU hors de la libération de la mémoire,...
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 2.
C'est discutable. Le JIT a beaucoup plus d'info que la compilation AOT pour faire ces choix et ce n'est pas quelque chose de continue aucun langage managé que je connais ne compile du code continuellement (sinon c'est plus proche d'un code interprété en fait), une fois que le JIT est passé, c'est juste du code natif qui s'exécute. Si ton jeu s'exécute peu de temps ça pose un problÚme, mais sinon ça ne fait pose pas tant de problÚme que ça.
Je pense que c'est plus la gestion de la mémoire qui pose problÚme (les gc créent un overhead en consommation mémoire, ça demande un certains tunning d'avoir un gc qui s'exécute correctement sur du temps réel comme ça,...).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 2.
Les derniers aussi. Ils sont plus efficaces, mais oui le stop the world existe toujours.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 2.
Tu as bien plus drĂŽle Ă faire : utiliser des lambda comme callback sans te rendre compte que ce que tu capture dans ta fermeture. Ăa touche tous langages objet qui a des lambdas et personne ne peux rien pour toi. C++ est peut ĂȘtre un peu mieux loti car il rends explicite la capture, mais pas au point de voir quel objet est dans la capture.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Et la suite ?
PostĂ© par barmic 𩩠. En rĂ©ponse au journal Logiciels libres dans une association non-informatique. ĂvaluĂ© Ă 7.
Euh... C'est normal. Tu met en place une solution, il est bien possible qu'une fois que tu parte, la personne qui prendra le relais utilise une autre solution. Ăa marche avec le libre ou non, ça. Ăa peut ĂȘtre Office 365 de MS, GSuite de Google, les diverses options libres qui sont listĂ©es par ici,...
Croire qu'on peut mettre en place un outil (informatique d'autant plus) et qu'il restera Ă vie d'Homme c'est une chimĂšre. Les besoins auront peut ĂȘtre Ă©voluĂ©s dans 5 ans, les solutions aussi. Et de toute maniĂšre qui sommes-nous pour dire au successeur de cette tĂąche comment il doit la faire ? Comment prendrais-tu quelqu'un qui te pousse Ă utiliser une solution qui ne te plaĂźt pas ou que tu ne connais pas (libre ou pas) ?
La seule chose possible c'est de faire au mieux pour ne pas faire de la rétention d'informations.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Questions
PostĂ© par barmic 𩩠. En rĂ©ponse au journal Le dĂ©but de la fin pour Intel ?. ĂvaluĂ© Ă 6.
Sur ton wafer 32" si tu sort N dice ou 25% de plus c'est quand mĂȘme une lĂ©gĂšre diffĂ©rence, non ?
Je comprends le premier point (on arrive probablement a des tailles de soudures en dessous des quels elles perdent en fiabilitĂ©), par contre les 2 points suivants je ne vois pas trop, ils sont liĂ©s Ă la densitĂ© et pas Ă la taille. Si tu as besoin de la surface de ton CPU 32 cĆurs mĂȘme pour refroidir 16 cĆurs, ça ne doit pas trĂšs bien se passer quand tu 32 cĆurs sont effectivement utilisĂ©s.
Alors non parce que tes chaines de productions produisent moins par wafer et il y a une différence énorme entre la taille du PCB et celle du die par exemple :
taille pcb et die de CPU Intel
pour un socket de 37.5mm de cÎté donc 85% de surface sans die.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 1.
Rien compris Ă cette phrase.
Je ne sais pas. Je dis juste que rust gĂšre la mĂ©moire automatiquement, mĂȘme s'il n'utilise pas de gc pour ça. Tu n'a pas a libĂ©rer manuellement ce que tu as allouĂ© sur le tas. Qu'il y ai des contraintes c'est tout Ă probable, le gc aussi posent des contraintes.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 5. DerniĂšre modification le 05 septembre 2020 Ă 01:02.
Une comparaison n'est pas une compĂ©tition. Il n'y a rien de con Ă comparer des langages. Observer des approches diffĂ©rentes et leurs impactes. S'inspirer des autres langages est nĂ©cessaire. Rust Ă©tant utilisĂ© Ă des endroits oĂč C ou C++ rĂšgnent en maĂźtres depuis plusieurs dĂ©cennies c'est difficile de ne pas en parler. Mais encore une fois C++ n'a pas tuĂ© C, rust ne tuera pas ses prĂ©dĂ©cesseurs. Je ne vois pas pourquoi s'en offusquer.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Questions
PostĂ© par barmic 𩩠. En rĂ©ponse au journal Le dĂ©but de la fin pour Intel ?. ĂvaluĂ© Ă 3.
Ok je trouve ça fou tout de mĂȘme.
Ce qui signifie qu'ils vendent un paquet de puces totalement fonctionnel au prix du milieu de gamme (en les ayants évidement configurés pour).
J'ai pas de doute qu'ils ont fais leur choix de maniĂšre aussi intelligente que possible.
Merci pour l'info :)
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Pffff
PostĂ© par barmic 𩩠. En rĂ©ponse Ă la dĂ©pĂȘche Rust a 5 ans, rĂ©trospective. ĂvaluĂ© Ă 3.
Au moins par défaut, la mémoire n'est pas vraiment gérée à la main. Il n'a pas de garbage collector, mais ça reste une gestion automatique de la mémoire. Comme le RAII de C++ (sauf que c'est tout à fait optionnel en C++).
std::mem::forgetn'est pas sensĂ© ĂȘtre systĂ©matiquement utilisĂ©.https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Questions
PostĂ© par barmic 𩩠. En rĂ©ponse au journal Le dĂ©but de la fin pour Intel ?. ĂvaluĂ© Ă 2.
Ăa n'a rien Ă voir ça. C'est pour gĂ©rer de l'usure et pas des ratages en sortie d'usine. Et c'est quelque chose de parfaitement intĂ©grĂ©, au dĂ©part de ta ligne de production tu connaĂźt ton ratio dĂ©pense de production/prix de vente. Tu ne croise pas les doigts au moment des tests pour savoir si tu fait de la marge ou non.
Oui et non. Aujourd'hui tu ne trouve plus de CPU avec un nombre de cĆur Ă©sotĂ©rique (3, 7, 15 cĆurs). Soit ils ne vendent plus leurs CPUs ratĂ©s (ce qui reprĂ©sente du coup une perte sĂšche, plutĂŽt qu'une perte limitĂ©e), soit ils ont des procĂ©dĂ©s de fabrication plus fiables.
Bien sĂ»r qu'il y a des ratages. J'ai travaillĂ© dans le test Ă©lectrique chez ST, j'ai pu le voir. Mais il y a une diffĂ©rence entre voir des problĂšmes de montĂ©e en charge et rĂ©duire aprĂšs production la frĂ©quence de ton CPU (par exemple) et vendre 20% de silicium en trop. MĂȘme si dans les 2 cas tu en profite pour segmenter ton offre. De base tout cela est un rĂ©elle perte, mais ça me paraĂźt bien plus drastique quand on parle de virer une partie du composant.
Pour le cell, oui les lignes de production n'étaient pas encore chaudes (ce qui est normal).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll