« Réunion du 11-01-2022 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
 
(20 versions intermédiaires par le même utilisateur non affichées)
Ligne 7 : Ligne 7 :
[11:00] Kayaker Magic : Et moi qui espérais que la réunion soit courte....
[11:00] Kayaker Magic : Et moi qui espérais que la réunion soit courte....
[11:00] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew.
[11:00] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew.
[11:00] Ubit Umarov : oh et il y a le andrew le banc  
[11:00] Ubit Umarov : oh et il y a Andrew le banc  
[11:00] Ubit Umarov : blanc
[11:00] Ubit Umarov : blanc
[11:00] Andrew Hellershanks : Bonjour, tout le monde.
[11:00] Andrew Hellershanks : Bonjour, tout le monde.
Ligne 33 : Ligne 33 :
[11:03] Ubit Umarov : oui, il y a des nuances de gris ici aussi.
[11:03] Ubit Umarov : oui, il y a des nuances de gris ici aussi.
[11:03] Gavin.Hird @grid.xmir.org:8002 : Je pense qu'aucun d'entre nous ne l'a fait, haha.
[11:03] Gavin.Hird @grid.xmir.org:8002 : Je pense qu'aucun d'entre nous ne l'a fait, haha.
[11:04] Andrew Hellershanks murmure : Je semble être le "chanceux" car je ne vois personne d'autre avec un avatar gris ou blanc. Devrais-je acheter un billet de loterie ?
[11:04] Andrew Hellershanks murmure : Je semble être "chanceux" car je ne vois personne d'autre avec un avatar gris ou blanc. Devrais-je acheter un billet de loterie ?
[11:04] Ubit Umarov : ( et plus de cinquante)
[11:04] Ubit Umarov : ( et plus de cinquante)
[11:04] Gavin.Hird @grid.xmir.org:8002 : mais c'est seulement si tu utilises le viewer RLV Ubit.
[11:04] Gavin.Hird @grid.xmir.org:8002 : mais c'est seulement si tu utilises le viewer RLV Ubit.
Ligne 75 : Ligne 75 :
[11:14] Ubit Umarov : en fait, c'est la dernière.
[11:14] Ubit Umarov : en fait, c'est la dernière.
</pre>
</pre>
= Brûler vs Graver : humour de dev  =  
= Brûler vs Graver : humour de dev ? =  
Ndlr : j'avoue ne pas avoir tout compris, la traduction peut-être très approximative. :)
Ndlr : j'avoue ne pas avoir tout compris, la traduction peut-être très approximative, encore plus que d'habitude. ;)
* [https://fr.wikipedia.org/wiki/RS/6000 RS/600]
* [https://fr.wikipedia.org/wiki/RS/6000 RS/600]
* AFAIK : As Far As I Know = Pour autant que je sache.
* AFAIK : As Far As I Know = Pour autant que je sache.
Ligne 93 : Ligne 93 :
[11:16] Gavin.Hird @grid.xmir.org:8002 : le RS/6000 avait un code de console HW qui disait "le CPU est en feu".
[11:16] Gavin.Hird @grid.xmir.org:8002 : le RS/6000 avait un code de console HW qui disait "le CPU est en feu".
[11:16] Ubit Umarov : élevé dans les premières heures de la vie d'une pièce... puis élevé à nouveau en fin de vie.
[11:16] Ubit Umarov : élevé dans les premières heures de la vie d'une pièce... puis élevé à nouveau en fin de vie.
[11:17] Ubit Umarov : donc le fait traiter la pièce avant la production a permis d'exclure un plus grand nombre de ces échecs précoces.
[11:17] Ubit Umarov : donc le fait de traiter la pièce avant la production a permis d'exclure un plus grand nombre de ces échecs précoces.
[11:17] Andrew Hellershanks : Je me souviens qu'un produit développé par une entreprise pour laquelle je travaillais il y a quelques  
[11:17] Andrew Hellershanks : Je me souviens qu'un produit développé par une entreprise pour laquelle je travaillais il y a quelques  
années mettait les composants dans une pièce pour les brûler à haute température.
années mettait les composants dans une pièce pour les brûler/graver à haute température.
[11:18] Ubit Umarov : donc pour le coup... code brûlant à lbsa ;)
[11:18] Ubit Umarov : donc pour le coup... code brûlant à lbsa ;)
[11:18] Gavin.Hird @grid.xmir.org:8002 : AFAIK tous les appareils Apple sont soumis à un burn-in avant d'être envoyés aux clients.
[11:18] Gavin.Hird @grid.xmir.org:8002 : AFAIK tous les appareils Apple sont soumis à un burn-in avant d'être envoyés aux clients.
Ligne 104 : Ligne 104 :
[11:19] Ubit Umarov : autrefois... plus maintenant.
[11:19] Ubit Umarov : autrefois... plus maintenant.
[11:20] Ubit Umarov : cela reste possible sur les produits haut de gamme.
[11:20] Ubit Umarov : cela reste possible sur les produits haut de gamme.
[11:20] Ubit Umarov : les pièces qui défaillantes sont réutilisées sur des produits moins chers ( je pense :p )
[11:20] Ubit Umarov : les pièces défaillantes sont réutilisées sur des produits moins chers ( je pense :p )
[11:20] Ubit Umarov : bien mais à propos d'opensim
[11:20] Ubit Umarov : bien mais à propos d'opensim
[11:20] Ubit Umarov : quelles nouvelles avez-vous ?
[11:20] Ubit Umarov : quelles nouvelles avez-vous ?
</pre>
</pre>
= Nouvelles d'OpenSim =  
= Nouvelles d'OpenSim =  
[https://packages.debian.org/sid/diffstat diffstat]
[https://packages.debian.org/sid/diffstat diffstat]
== Nouvelles fonctionnalités ==
<pre>
<pre>
[11:21] Gavin.Hird @grid.xmir.org:8002 : LL a mentionné qu'ils allaient lancer de nouvelles fonctionnalités cette année
[11:21] Gavin.Hird @grid.xmir.org:8002 : LL a mentionné qu'ils allaient lancer de nouvelles fonctionnalités cette année
[11:22] Ubit Umarov : dire le contraire signifierait "nous sommes morts" :)
[11:22] Gavin.Hird @grid.xmir.org:8002 : donc gardez vos reins solides.
</pre>
== Modification du code des uuid  dans libomv ==
[[Build_Instructions/fr#Compilation_anticip.C3.A9e_.28Ahead_of_Time_compilation.29_.28AOT.29|JIT -- Compilation à la volée]]
<pre>
[11:08] Andrew Hellershanks : Ubit a été occupé la semaine dernière. J'ai touché à beaucoup de fichiers afin d'examiner la façon dont certains codes étaient générés. Cela peut aider un peu à améliorer les performances du code de la grille.
[11:08] Andrew Hellershanks : Ubit a été occupé la semaine dernière. J'ai touché à beaucoup de fichiers afin d'examiner la façon dont certains codes étaient générés. Cela peut aider un peu à améliorer les performances du code de la grille.
[11:22] Andrew Hellershanks : En plus des modifications,  pour gagner du temps lors de tests ou de comparaisons d'UUID, il y a eu une ou plusieurs mises à jour de la bibliothèque libomv.
[11:22] Andrew Hellershanks : En plus des modifications,  pour gagner du temps lors de tests ou de comparaisons d'UUID, il y a eu une ou plusieurs mises à jour de la bibliothèque libomv.
[11:22] Ubit Umarov : dire le contraire signifierait "nous sommes morts" :)
[11:22] Gavin.Hird @grid.xmir.org:8002 : donc gardez vos reins solides.
[11:22] Ubit Umarov : les changements de libomv sont liés.
[11:22] Ubit Umarov : les changements de libomv sont liés.
[11:22] Ubit Umarov : parce que le code uuid est dans libomv et a été modifié.
[11:22] Ubit Umarov : parce que le code des uuid est dans libomv et a été modifié.
[11:22] Ubit Umarov : modifié
[11:22] Ubit Umarov : modifié
[11:22] Andrew Hellershanks : Je pensais que c'était le cas d'après les messages de commit.
[11:22] Andrew Hellershanks : Je pensais que c'était le cas d'après les messages de commit.
Ligne 126 : Ligne 132 :
[11:24] Ubit Umarov : par exemple
[11:24] Ubit Umarov : par exemple
[11:24] Andrew Hellershanks : Je me demande ce que diffstat pourrait rapporter quant au nombre de changements.
[11:24] Andrew Hellershanks : Je me demande ce que diffstat pourrait rapporter quant au nombre de changements.
[11:24] Ubit Umarov: first form means at least 2 blocks of 16bytes copies
[11:24] Ubit Umarov : la première forme signifie au moins 2 blocs de copies de 16 octets..
[11:25] Ubit Umarov: as part of argument passing to the function that does the ==
[11:25] Ubit Umarov : en tant qu'argument passé à la fonction qui fait le ==.
[11:25] Ubit Umarov: in real JIT code, and bc there where a chain of calls... there where like 8 copies
[11:25] Ubit Umarov : dans le vrai code JIT, et parce qu'il y avait une chaîne d'appels... il y avait environ 8 copies.
[11:25] Ubit Umarov: all useless.. but well
[11:25] Ubit Umarov : toutes inutiles... mais bon
[11:26] Andrew Hellershanks: It seems a little odd that it would need to copy data just to do a comparison.
[11:26] Andrew Hellershanks : Il semble un peu étrange qu'il faille copier des données juste pour faire une comparaison.
[11:26] Ubit Umarov: auuid.IsZero on the other is a no arguments call to a methog that does check of zero
[11:26] Ubit Umarov : auuid.IsZero d'autre part est un appel sans arguments à une méthode qui fait la vérification de zéro.
[11:26] Ubit Umarov: so a lot faster
[11:26] Ubit Umarov : donc beaucoup plus rapide.
[11:26] Andrew Hellershanks: I would have thought it could have done the comparison in place using the original variable location.
[11:26] Andrew Hellershanks : J'aurais pensé qu'il aurait pu faire la comparaison en place en utilisant l'emplacement de la variable originale.
[11:27] Ubit Umarov: yeah Trust on compilers :P
[11:27] Ubit Umarov : ouais, la confiance dans les compilateurs :P
[11:27] Andrew Hellershanks: yea. It can be quite revealing to look at the generated assembler code.
[11:27] Andrew Hellershanks : oui. Il peut être assez révélateur de regarder le code assembler généré.
[11:27] Gavin.Hird @grid.xmir.org:8002: by copying it to both sides, the test will always be true
[11:27] Gavin.Hird @grid.xmir.org:8002 : en le copiant des deux côtés, le test sera toujours vrai.
[11:27] Ubit Umarov: and != could even have another set of copies
[11:27] Ubit Umarov : et != pourrait même avoir un autre ensemble de copies.
[11:28] Ubit Umarov: for example
[11:28] Ubit Umarov : par exemple
[11:28] Ubit Umarov: if(ua != ub) was
[11:28] Ubit Umarov : if(ua != ub) a était
[11:28] Ubit Umarov: <Ubit_> <Ubit_> 00007FFB371C10FB  vmovdqu    xmm0,xmmword ptr [rsp+200h]   
[11:28] Ubit Umarov: <Ubit_> <Ubit_> 00007FFB371C10FB  vmovdqu    xmm0,xmmword ptr [rsp+200h]   
<Ubit_> <Ubit_> 00007FFB371C1105  vmovdqu    xmmword ptr [rsp+118h],xmm0   
<Ubit_> <Ubit_> 00007FFB371C1105  vmovdqu    xmmword ptr [rsp+118h],xmm0   
Ligne 158 : Ligne 164 :
<Ubit_> <Ubit_> 00007FFB371C117C  test        al,al   
<Ubit_> <Ubit_> 00007FFB371C117C  test        al,al   
<Ubit_> <Ubit_> 00007FFB371C117E  jne        testlixo.Program.Main(System.String[])+03E2h (
<Ubit_> <Ubit_> 00007FFB371C117E  jne        testlixo.Program.Main(System.String[])+03E2h (
[11:29] Ubit Umarov: in windows release mode, i7 native code
[11:29] Ubit Umarov : en mode windows release, code natif i7
[11:30] Andrew Hellershanks: What was the code doing previously for the zero check?
[11:30] Andrew Hellershanks : Qu'est-ce que le code faisait auparavant pour la vérification du zéro ?
[11:31] Andrew Hellershanks: While Ubit chews on that question, any other questions about OpenSim?
[11:31] Andrew Hellershanks : Pendant qu'Ubit réfléchit à cette question, d'autres questions sur OpenSim ?  
[11:32] JayR.Cela @grid.3rdrockgrid.com:8002: none from me
(Ndlr : voir la suite dans le prochain sous chapitre)
[11:32] Andrew Hellershanks looks at Kayaker
[11:32] Ubit Umarov : c'était pareil.
[11:32] Ubit Umarov: was same
[11:33] Ubit Umarov : UUID.Zero est un uuid comme les autres, prenant la place de ub là.
[11:33] Andrew Hellershanks: Hello, Michael.
[11:33] Ubit Umarov : donc même code
[11:33] Bill's Chair whispers: This is Bill's Chair
[11:35] Ubit Umarov : maintenant :
[11:33] Gavin.Hird @grid.xmir.org:8002: Hi Michael
[11:35] Ubit Umarov : 118 : if (ua.IsZero())
[11:33] Michael.Christopher @cc.opensimulator.org:8002: hello!
00007FFB371B3317 cmp qword ptr [rsp+190h],0 
[11:33] Ubit Umarov: UUID.Zero is a uuid like other, taking place of ub there
00007FFB371B3320 jne 00007FFB371B332F 
[11:33] Andrew Hellershanks: You can't sit there, Michael. Pick another seat.
00007FFB371B3322 cmp qword ptr [rsp+198h],0 
[11:33] Ubit Umarov: so same code
00007FFB371B332B jne 00007FFB371B332F
[11:33] Andrew Hellershanks: Right.
[11:35] Ubit Umarov : compare juste 4 ulongs.
[11:34] Kayaker Magic: I'm good this week
[11:35] Ubit Umarov : et direct, et inline... pas de copies
[11:36] Ubit Umarov : aussi maintenant
[11:36] Ubit Umarov : 115 : if (ua != ub)
00007FFB371B32C9 vmovdqu xmm0,xmmword ptr [rsp+190h] 
00007FFB371B32D3 vmovdqu xmmword ptr [rsp+0E8h],xmm0 
00007FFB371B32DD vmovdqu xmm0,ptr xmmword [rsp+1A0h] 
00007FFB371B32E7 vmovdqu xmmword ptr [rsp+0D8h],xmm0 
00007FFB371B32F1 mov rcx,ptr qword [rsp+0E8h] 
00007FFB371B32F9 cmp rcx,ptr qword [rsp+0D8h] 
00007FFB371B3301 jne 00007FFB371B3315 
00007FFB371B3303 mov rcx,ptr qword [rsp+0F0h] 
00007FFB371B330B cmp rcx,ptr qword [rsp+0E0h] 
00007FFB371B3313 je 00007FFB371B3317
[11:36] Ubit Umarov : une seule copie.
[11:36] Ubit Umarov : et la comparaison est maintenant la comparaison de 2 ulongs aussi en ligne.
[11:37] Ubit Umarov : vmovdqu est une instruction intel AVX (sse) qui déplace 16 octets (dans un registre xmm).
[11:38] Ubit Umarov : comme je l'ai dit dans d'autres commits "économisez du CO2" "changements inutiles".
[11:38] Ubit Umarov : parce que nous ne voyons aucun effet :p
[11:38] Andrew Hellershanks : Je ne qualifierais pas les changements d'inutiles.
[11:38] Gavin.Hird @grid.xmir.org:8002 : pourquoi pas mono - je suppose que l'assembly généré par mono est assez différent.
[11:38] Ubit Umarov : les utilisateurs normaux inwold ne le remarquent pas.
[11:39] Ubit Umarov : oui, mono JIT est dif.
[11:39] Ubit Umarov : et peut même être celui de ms sur celui de llvm.
[11:39] Andrew Hellershanks : Non, les utilisateurs normaux ne le verront pas, mais ceux qui gèrent une grille remarqueront l'amélioration.
[11:39] Ubit Umarov : yeha, j'espère que cela signifie moins de charge globale sur le processeur.
[11:39] Gavin.Hird @grid.xmir.org:8002 : sans parler du fait que mono utilise aussi LLVM.
[11:39] Ubit Umarov : LLVM est optionnel.
[11:40] Gavin.Hird @grid.xmir.org:8002 : mono sur macOS est un standard llvm.
[11:40] Ubit Umarov : les mêmes disent que ms jit est maintenant plus rapide... certains ne le disent pas.
[11:40] Gavin.Hird @grid.xmir.org:8002 : ce qui le rend un peu plus rapide.
[11:40] Ubit Umarov : Mais ce que j'ai fait précédemment était un gros échec d'optimisation JIT.
[11:40] Ubit Umarov : toutes ces copies sont inutiles.
[11:41] Gavin.Hird @grid.xmir.org:8002 : avec un peu de chance, llvm enlèvera tout le désordre.
[11:41] Andrew Hellershanks : Il est difficile d'obtenir des statistiques utilisables sur l'amélioration, car même une région " inactive " a toujours des bouffées d'activité. Je pense que le changement a fait baisser la charge CPU de ma standalone d'environ 1%, mais les chiffres sont très variables.
[11:41] Ubit Umarov : même sur la nouvelle comparaison.
[11:41] Ubit Umarov : <Ubit_> <Ubit_> 00007FFB371C10FB vmovdqu xmm0,xmmword ptr [rsp+200h] 
<Ubit_> <Ubit_> 00007FFB371C1105 vmovdqu xmmword ptr [rsp+118h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C110F vmovdqu xmm0,xmmword ptr [rsp+210h] 
<Ubit_> <Ubit_> 00007FFB371C1119 vmovdqu xmmword ptr [rsp+108h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C1123 vmovdqu xmm0,xmmword ptr [rsp+118h] 
<Ubit_> <Ubit_> 00007FFB371C112D vmovdqu xmmword ptr [rsp+0F8h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C1137 vmovdqu xmm0,xmmword ptr [rsp+108h] 
<Ubit_> <Ubit_> 00007FFB371C1141 vmovdqu xmmword ptr [rsp+0E8h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C114B vmovdqu xmm0,xmmword ptr [rsp+0F8h] 
<Ubit_> <Ubit_> 00007FFB371C1155 vmovdqu xmmword ptr [rsp+38h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C115C vmovdqu xmm0,xmmword ptr [rsp+0E8h] 
<Ubit_> <Ubit_> 00007FFB371C1166 vmovdqu xmmword ptr [rsp+28h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C116D lea rcx, [rsp+38h] 
<Ubit_> <Ubit_> 00007FFB371C
[11:41] Ubit Umarov : rdx, [rsp+28h] 
<Ubit_> <Ubit_> 00007FFB371C1177 call System.Guid.op_Equality(System.Guid, System.Guid) (07FFB8FD4BE90h) 
<Ubit_> <Ubit_> 00007FFB371C117C test al,al 
<Ubit_> <Ubit_> 00007FFB371C117E jne testlixo.Program.Main(System.String[])+03E2h (
[11:41] Ubit Umarov : ces copies sont aussi inutiles.
[11:41] Ubit Umarov : mais par spec
[11:41] Ubit Umarov : oops c'est l'ancien.
[11:42] Ubit Umarov : 115 : if (ua != ub)
00007FFB371B32C9 vmovdqu xmm0,xmmword ptr [rsp+190h] 
00007FFB371B32D3 vmovdqu xmmword ptr [rsp+0E8h],xmm0 
00007FFB371B32DD vmovdqu xmm0,ptr xmmword [rsp+1A0h] 
00007FFB371B32E7 vmovdqu xmmword ptr [rsp+0D8h],xmm0 
00007FFB371B32F1 mov rcx,ptr qword [rsp+0E8h] 
00007FFB371B32F9 cmp rcx,ptr qword [rsp+0D8h] 
00007FFB371B3301 jne 00007FFB371B3315 
00007FFB371B3303 mov rcx,ptr qword [rsp+0F0h] 
00007FFB371B330B cmp rcx,ptr qword [rsp+0E0h] 
00007FFB371B3313 je 00007FFB371B3317
[11:43] Ubit Umarov : c'est aussi du code JIT stupide... meilleur mais stupide.
[11:43] Ubit Umarov : JIT a détecté qu'il n'était pas nécessaire d'appeler une fonction.
[11:43] Ubit Umarov : mais il n'a pas vu que les copies d'arguments respectifs ne sont pas non plus nécessaires.
</pre>
 
==Pas d'autres questions ? ==
[https://fr.wikipedia.org/wiki/Raspberry_Pi  Raspberry Pi]
<pre>
[11:32] JayR.Cela @grid.3rdrockgrid.com:8002 : rien de mon côté.
[11:32] Andrew Hellershanks regarde Kayaker.
[11:33] Andrew Hellershanks : Bonjour, Michael.
[11:33] La Chaise de Bill chuchote : C'est la Chaise de Bill
[11:33] Gavin.Hird @grid.xmir.org:8002 : Salut Michael
[11:33] Michael.Christopher @cc.opensimulator.org:8002 : bonjour !
[11:33] Andrew Hellershanks : Tu ne peux pas t'asseoir là, Michael. Choisis un autre siège.
[11:33] Andrew Hellershanks : C'est ça.
[11:34] Kayaker Magic : C'est bon pour moi cette semaine.
[11:34] Andrew Hellershanks: ok
[11:34] Andrew Hellershanks: ok
[11:34] Andrew Hellershanks: Anyone else?
[11:34] Andrew Hellershanks : Quelqu'un d'autre ?
[11:34] Michael.Christopher @cc.opensimulator.org:8002: nothing new here this week, still waiting on the replacement developer system to arrive :/
[11:34] Michael.Christopher @cc.opensimulator.org:8002 : rien de nouveau ici cette semaine, j'attends toujours que le système de remplacement des développeurs arrive :/.
[11:35] Ubit Umarov: now:
[11:35] Andrew Hellershanks : Le Père Noël est un peu lent dans sa livraison du système, Michael ? ;)
[11:35] Ubit Umarov: 118:            if (ua.IsZero())
[11:36] Michael.Christopher @cc.opensimulator.org:8002 : lol yea.  Nous avons commandé en décembre et il est juste passé au statut "expédition" aujourd'hui *roulement d'yeux*.
00007FFB371B3317  cmp        qword ptr [rsp+190h],0 
[11:36] Gavin.Hird @grid.xmir.org:8002 : bien, essayez d'acheter un Raspberry PI 8GB quelque part
00007FFB371B3320  jne        00007FFB371B332F 
[11:36] Gavin.Hird @grid.xmir.org:8002 : vous pouvez les obtenir à 3x le prix normal.
00007FFB371B3322  cmp        qword ptr [rsp+198h],0 
[11:36] Andrew Hellershanks : J'ai juste mon 4G Pi 4.
00007FFB371B332B  jne        00007FFB371B332F
[11:36] Gavin.Hird @grid.xmir.org:8002 : le 4GB est également en rupture de stock partout.
[11:35] Andrew Hellershanks: Santa is a bit slow on his delivery of the system, Michael? ;)
[11:37] Gavin.Hird @grid.xmir.org:8002 : Canon demande à ses clients de casser les DRM des toners d'imprimantes car ils ne peuvent plus obtenir les puces pour les toners.
[11:35] Ubit Umarov: just compares 4 ulongs
[11:41] Andrew Hellershanks : Bon retour , Jamie
[11:35] Ubit Umarov: and direct, and inline.. no copies
[11:43] Jamie.Jordan @grid.kitely.com:8002 : Merci, j'ai planté je ne sais pas pourquoi.
[11:36] Michael.Christopher @cc.opensimulator.org:8002: lol yea.  We ordered back in December and it just went to "shipping" status today *eye roll*
</pre>
[11:36] Gavin.Hird @grid.xmir.org:8002: right, try purchase a 8GB Raspberry PI somewhere
 
[11:36] Gavin.Hird @grid.xmir.org:8002: you can get them at 3x normal price
== Compilateurs et problèmes ==
[11:36] Ubit Umarov: also now
*[https://fr.wikipedia.org/wiki/American_National_Standards_Institute ANSI]
[11:36] Ubit Umarov: 115:            if (ua != ub)
*[https://fr.wikipedia.org/wiki/K%26R K&R]
00007FFB371B32C9  vmovdqu    xmm0,xmmword ptr [rsp+190h] 
<pre>
00007FFB371B32D3  vmovdqu    xmmword ptr [rsp+0E8h],xmm0 
[11:44] Ubit Umarov : je rigole quand des gens intelligents disent qu'il faut faire confiance aux compilateurs.
00007FFB371B32DD  vmovdqu    xmm0,xmmword ptr [rsp+1A0h] 
[11:44] Ubit Umarov : rire aussi
00007FFB371B32E7  vmovdqu    xmmword ptr [rsp+0D8h],xmm0 
[11:45] Gavin.Hird @grid.xmir.org:8002 : ouais, c'était mieux dans le passé quand on pouvait appuyer sur halt, corriger le code dans le noyau et continuer.
00007FFB371B32F1  mov        rcx,qword ptr [rsp+0E8h] 
[11:45] Ubit Umarov : aussi == est mauvais
00007FFB371B32F9  cmp        rcx,qword ptr [rsp+0D8h] 
[11:46] Ubit Umarov : cela signifie 2 arguments.
00007FFB371B3301  jne        00007FFB371B3315 
[11:46] Ubit Umarov : alors que auuid.Equals(other) fait 1 seul argument
00007FFB371B3303  mov        rcx,qword ptr [rsp+0F0h] 
[11:47] Ubit Umarov : alors oui, les compilateurs sont intelligents et voient tout pour nous... dit-on...
00007FFB371B330B  cmp        rcx,qword ptr [rsp+0E0h] 
[11:47] Ubit Umarov : LOL
00007FFB371B3313  je          00007FFB371B3317
[11:47] Ubit Umarov : peu importe
[11:36] Andrew Hellershanks: I just have my 4G Pi 4.
[11:47] Ubit Umarov : changer le code de bas niveau sur libopenmetaverse
[11:36] Ubit Umarov: just one copy
[11:47] Andrew Hellershanks : J'ai eu un problème une fois avec du code. Quand j'ai creusé dans l'assembly généré, j'ai découvert que le compilateur s'amusait avec le caractère \n (saut de ligne) dans une chaîne. Il aurait dû le laisser tranquille et il aurait été traduit en caractères utilisés par le système d'exploitation lors de la sortie de la chaîne. Le fabricant du compilateur a déclaré qu'il suivait la norme ANSI. La gestion des \N n'a certainement pas été faite selon K&R.
[11:36] Gavin.Hird @grid.xmir.org:8002: the 4GB is also out of stock all over
[11:47] Ubit Umarov : et eux sur une tonne d'endroits où nous les utilisons.
[11:36] Ubit Umarov: and the compare is now compare fo 2 ulongs also inline
[11:48] Ubit Umarov : oui, les problèmes avec les compilateurs sont aussi vieux que les compilateurs.
[11:37] Gavin.Hird @grid.xmir.org:8002: Canon are asking their customers to break printer toner DRM as they cannot get the chips for the toners anymore
[11:48] Ubit Umarov : gcc était très amusant et l'est toujours.
[11:37] Ubit Umarov: vmovdqu is a intel AVX (sse) intruction that moves 16 bytes ( a a xmm register )
[11:48] Ubit Umarov :(PAS)Très amusant.
[11:38] Ubit Umarov: well as i said in other commits "save some CO2"  "useless changes"
[11:49] Ubit Umarov : ceci au moins produit des résultats corrects !!!
[11:38] Ubit Umarov: bc we basicly see no effects :p
[11:49] Ubit Umarov : et JIT a été capable de voir que le processeur peut copier 16 octets sur une seule instruction.
[11:38] Andrew Hellershanks: I wouldn't call the changes useless.
[11:49] Ubit Umarov : pas bas
[11:38] Gavin.Hird @grid.xmir.org:8002: how about mono - I guess the asemly generated by mono is rather different
[11:49] Ubit Umarov : pas mauvais
[11:38] Ubit Umarov: normal inwold users don't notice
[11:50] Ubit Umarov : sauf mes fautes de frappe
[11:38] Gavin.Hird @grid.xmir.org:8002: assembly*
[11:50] Andrew Hellershanks : :)
[11:39] Ubit Umarov: yeah mono JIT is dif
[11:50] Ubit Umarov : obtenir un UbitTranslator
[11:39] Ubit Umarov: and can even be the ms one on the llvm one
[11:50] Ubit Umarov : :p
[11:39] Andrew Hellershanks: No, normal users wouldn't but the people running a grid will notice the improvement.
[11:51] Andrew Hellershanks : nooon... la plupart, sinon tous, d'entre nous savent lire le typon.
[11:39] Ubit Umarov: yeha hope this means less overall cpu load
[11:51] Ubit Umarov : :)
[11:39] Gavin.Hird @grid.xmir.org:8002: not to mention if mono also use LLVM
[11:51] Andrew Hellershanks : Combien de fois ça fait, Jamie ?
[11:39] Ubit Umarov: llvm is optional
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : dont la plupart d'entre nous écrivent en typon ;)
[11:40] Gavin.Hird @grid.xmir.org:8002: mono on macOS is llvm standard
[11:51] Gavin.Hird @grid.xmir.org:8002 : maintenant il fait du sur-place, donc il doit se reconnecter pour effacer cela.
[11:40] Ubit Umarov: same say that ms jit is now faster.. some dont
</pre>
[11:40] Gavin.Hird @grid.xmir.org:8002: which makes it a bit faster
 
[11:40] Ubit Umarov: wlel that past i did was a big JIT optimization fail
==Changements au niveau des scripts et autres==
[11:40] Ubit Umarov: all those copies are useless
* [[OsMakeNotecard]]
[11:41] Gavin.Hird @grid.xmir.org:8002: hopefully llvm strips the mess out
* [[OsMessageObject]]
[11:41] Andrew Hellershanks: It is hard to get usable stats on the improvement because even an "idle" region still has bursts of activity. I think the change might have dropped the CPU load for my standalone by about 1% but the numbers were bouncing  around.
* [[osMessageAttachments]]
[11:41] Ubit Umarov: even on the new compare
* [[LLUDP ClientStack/fr]]
[11:41] Ubit Umarov: <Ubit_> <Ubit_> 00007FFB371C10FB  vmovdqu    xmm0,xmmword ptr [rsp+200h] 
<pre>
<Ubit_> <Ubit_> 00007FFB371C1105  vmovdqu    xmmword ptr [rsp+118h],xmm0 
[11:52] Ubit Umarov : j'ai aussi appliqué un maximum de 64k sur osmakenotecard.
<Ubit_> <Ubit_> 00007FFB371C110F  vmovdqu    xmm0,xmmword ptr [rsp+210h] 
[11:52] Ubit Umarov : "annulé (inversé ?) le ralentissement de osMessageObject. réduit également le ralentissement de osMessageAttachments à (100 + 10 *NumberTargetedPrims) milisecondes. Certaines actions du jeu ont montré un léger impact négatif visible, alors testons..."
<Ubit_> <Ubit_> 00007FFB371C1119  vmovdqu    xmmword ptr [rsp+108h],xmm0 
[11:52] Andrew Hellershanks : Une limite raisonnable, Ubit. 64k de texte, c'est beaucoup de texte à lire. La plupart des gens ne liraient pas une NoteCard avec autant de texte.
<Ubit_> <Ubit_> 00007FFB371C1123  vmovdqu    xmm0,xmmword ptr [rsp+118h] 
[11:53] Ubit Umarov : un jeu ici sur osg a montré un impact négatif visible.
<Ubit_> <Ubit_> 00007FFB371C112D  vmovdqu    xmmword ptr [rsp+0F8h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C1137  vmovdqu    xmm0,xmmword ptr [rsp+108h] 
<Ubit_> <Ubit_> 00007FFB371C1141  vmovdqu    xmmword ptr [rsp+0E8h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C114B  vmovdqu    xmm0,xmmword ptr [rsp+0F8h]
<Ubit_> <Ubit_> 00007FFB371C1155  vmovdqu    xmmword ptr [rsp+38h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C115C  vmovdqu    xmm0,xmmword ptr [rsp+0E8h] 
<Ubit_> <Ubit_> 00007FFB371C1166  vmovdqu    xmmword ptr [rsp+28h],xmm0 
<Ubit_> <Ubit_> 00007FFB371C116D  lea        rcx,[rsp+38h] 
<Ubit_> <Ubit_> 00007FFB371C
[11:41] Ubit Umarov: rdx,[rsp+28h] 
<Ubit_> <Ubit_> 00007FFB371C1177  call        System.Guid.op_Equality(System.Guid, System.Guid) (07FFB8FD4BE90h) 
<Ubit_> <Ubit_> 00007FFB371C117C  test        al,al 
<Ubit_> <Ubit_> 00007FFB371C117E  jne        testlixo.Program.Main(System.String[])+03E2h (
[11:41] Ubit Umarov: those copies are also useless
[11:41] Andrew Hellershanks: wb, Jamie
[11:41] Ubit Umarov: but per spec
[11:41] Ubit Umarov: oops this is the old
[11:42] Ubit Umarov: 115:            if (ua != ub)
00007FFB371B32C9  vmovdqu    xmm0,xmmword ptr [rsp+190h] 
00007FFB371B32D3  vmovdqu    xmmword ptr [rsp+0E8h],xmm0 
00007FFB371B32DD  vmovdqu    xmm0,xmmword ptr [rsp+1A0h] 
00007FFB371B32E7  vmovdqu    xmmword ptr [rsp+0D8h],xmm0 
00007FFB371B32F1  mov        rcx,qword ptr [rsp+0E8h] 
00007FFB371B32F9  cmp        rcx,qword ptr [rsp+0D8h] 
00007FFB371B3301  jne        00007FFB371B3315 
00007FFB371B3303  mov        rcx,qword ptr [rsp+0F0h] 
00007FFB371B330B  cmp        rcx,qword ptr [rsp+0E0h] 
00007FFB371B3313  je         00007FFB371B3317
[11:43] Ubit Umarov: this is also stupid JIT code.. better but stupid
[11:43] Jamie.Jordan @grid.kitely.com:8002: thanks i'm crashy for some reason
[11:43] Ubit Umarov: JIT detected theat was no need to call a funtion
[11:43] Ubit Umarov: but failed to see that the respecitve arguments copies are also not needed
[11:44] Ubit Umarov: well  i just lauch when clever ppl tells one should trust compilers
[11:44] Ubit Umarov: laught also
[11:45] Gavin.Hird @grid.xmir.org:8002: yeah, it was better in the old days when you could hit halt, correct the code in core and continue
[11:45] Ubit Umarov: also == is bad
[11:46] Ubit Umarov: means 2 arguments
[11:46] Ubit Umarov: while auuid.Equals(other) is only 1 argument
[11:47] Ubit Umarov: so yeahh compilers are clever and see all things for us... they say
[11:47] Ubit Umarov: LOL
[11:47] Ubit Umarov: whatver
[11:47] Ubit Umarov: changed the low level code on libopenmetaverse
[11:47] Andrew Hellershanks: I had a problem one time with some code. When I dug in to the generated assembler I found that the compiler was messing around with the \n character in a string. It should have left it alone and it would be translated in to the characters used by the operating system during the output of the string. The compiler maker said they followed the ANSI standard. Handling of \n certainly wasn't being done per K&R.
[11:47] Ubit Umarov: and them on a ton of places where we use it
[11:48] Ubit Umarov: yeah problems with compilers are as old as compilets
[11:48] Ubit Umarov: gcc was very fun and still  is
[11:48] Ubit Umarov: very (NOT) fun
[11:49] Ubit Umarov: this at least do produce correct results!!
[11:49] Ubit Umarov: and JIT was cleave to see the cpu cna copy 16bytes on a single instruction
[11:49] Ubit Umarov: not bas
[11:49] Ubit Umarov: not bad
[11:50] Ubit Umarov: except my typos
[11:50] Ubit Umarov: "and JIT was clever to see tha the  cpu can copy 16bytes on a single instruction"
[11:50] Andrew Hellershanks: :)
[11:50] Ubit Umarov: THAT nor tha
[11:50] Ubit Umarov: uff
[11:50] Ubit Umarov: get a UbitTranslator
[11:50] Ubit Umarov: :p
[11:51] Andrew Hellershanks: naww... most, if not all, of us here can read typonese.
[11:51] Ubit Umarov: :)
[11:51] Andrew Hellershanks: How many times is that, Jamie?
[11:51] Michael.Christopher @cc.opensimulator.org:8002: dont most of us writ in typonese ;)
[11:51] Gavin.Hird @grid.xmir.org:8002: now he is treading water, so he has to relog to clear that
[11:52] Ubit Umarov: i did enforce max og 64k on osmakenotecard also
[11:52] Ubit Umarov: "revert the slowdown of osMessageObject. Also reduce the slowdown osMessageAttachments to (100 + 10 *NumberTargetedPrims) miliseconds. Some action games shown a bit of visible negative impact, so lets test
"
[11:52] Andrew Hellershanks: A reasonable limit, Ubit. 64k of text is a lot of text to read. Most wouldn't read an NC with that much text in it.
[11:53] Ubit Umarov: a game here in osg had visible negative impact
[11:53] Gavin.Hird @grid.xmir.org:8002: ok?
[11:53] Gavin.Hird @grid.xmir.org:8002: ok?
[11:53] Ubit Umarov: "* proper bypass lludp header extra bytes, even if not seen so far
[11:53] Ubit Umarov : " * contourné correctement les octets supplémentaires de l'en-tête lludp, même si cela n'a pas été vu jusqu'à présent.
"
[11:53] Ubit Umarov : c'est plutôt un changement inutile.
[11:53] Ubit Umarov: this is more of a useless change
[11:54] Ubit Umarov : il se trouve que le protocole LLUDP supporte des en-têtes de paquets plus longs.
[11:54] Ubit Umarov: happens that LLUDP protocol suports longe packets headers
[11:54] Ubit Umarov : le code de sortie exploserait si cela se produisait.
[11:54] Ubit Umarov: out code would blowup if that happened
[11:54] Ubit Umarov : maintenant je vais juste laisser les octets supplémentaires s'il y en a.
[11:54] Ubit Umarov: now will just over the extra bytes if present
[11:55] Ubit Umarov : je n'ai  vu dans un  viewer aucune utilisation de ces octets.
[11:55] Ubit Umarov: well never seen a viewer and any use of such bytes
[11:55] Ubit Umarov : mais c'est une correction de protocole formel.
[11:55] Ubit Umarov: but it is a formal protocol fix
[11:56] Ubit Umarov : je suppose que cela couvre les changements de code de la semaine dernière.
[11:55] Andrew Hellershanks: Jamie just went *poof* again.
[11:56] Ubit Umarov : pas beaucoup de rapports de bogues.
[11:56] Andrew Hellershanks: We are just a few minutes away from the top of the hour. Any last minute questions or comments?
[11:56] Ubit Umarov : il y en a un que je ne peux toujours pas repo.
[11:56] Ubit Umarov: guess that covers last week code changes
</pre>
[11:56] Andrew Hellershanks: Anything viewer related, Gavin?
=Les viewers -- Nouvelles fonctionnalités =
[11:56] Ubit Umarov: not many bug reports
* [https://fr.wikipedia.org/wiki/D%C3%A9cimal_cod%C3%A9_binaire Format BCD]
[11:56] Ubit Umarov: one i still can't repo
* [https://fr.wikipedia.org/wiki/Pabst_Blue_Ribbon  Bière Pabst Blue Ribbon]
[11:56] Gavin.Hird @grid.xmir.org:8002: not really
* [https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste Rendu physique réaliste]
[11:57] Andrew Hellershanks: Gavin, I do have a viewer question.
Le rendu physique réaliste a pour but de donner aux objets virtuels une apparence proche de celle qu'ils auraient en réalité, et de baser le rendu des matériaux sur un nombre réduit de propriétés physiques3 qui sont peu interdépendantes, pour simplifier le travail des infographistes
[11:57] Gavin.Hird @grid.xmir.org:8002: LL said they will add new features that requires viewer changes this year
* [https://fr.wikipedia.org/wiki/Xbox Xbox]
[11:57] Gavin.Hird @grid.xmir.org:8002: no mention on what
* [https://fr.wikipedia.org/wiki/Bob_Ross Bob_Ross]
[11:57] Gavin.Hird @grid.xmir.org:8002: sure
* [https://www.youtube.com/watch?v=0n4f-VDjOBE Happy trees]
[11:57] Ubit Umarov: gavin that was "no news" :)
<pre>
[11:57] Ubit Umarov: part of meeting
[11:55] Andrew Hellershanks : Jamie vient juste de faire *poof* à nouveau.
[11:57] Ubit Umarov: ofc they will add something
[11:56] Andrew Hellershanks : Nous sommes à quelques minutes de la fin de l'heure. Des questions ou des commentaires de dernière minute ?
[11:58] Gavin.Hird @grid.xmir.org:8002: new features are stuff like Bento or soemthing
[11:56] Andrew Hellershanks : Quelque chose en rapport avec le viewer, Gavin ?
[11:58] Ubit Umarov: bet they have a ton of feature requests also
[11:56] Gavin.Hird @grid.xmir.org:8002 : pas vraiment.
[11:58] Gavin.Hird @grid.xmir.org:8002: real viewer cahnges
[11:57] Andrew Hellershanks : Gavin, j'ai une question concernant le viewer.
[11:58] Andrew Hellershanks: Sometimes when I enter a coordinate for a prim in the Build dialog it goes in as I typed it. Other times it has some extra non-zero digit added. I can force it back to the three decimal places I entered by changing the number then changing it back. Any ideas why that happens?
[11:57] Gavin.Hird @grid.xmir.org:8002 : LL a dit qu'ils allaient ajouter de nouvelles fonctionnalités qui nécessiteront des changements de viewer cette année.
[11:59] Ubit Umarov: Kb to chair interface issue?
[11:57] Gavin.Hird @grid.xmir.org:8002 : pas de mention sur quoi
[11:59] Andrew Hellershanks: The viewer is quite capable of handling 3 decimal places. Always a pain when it wants to add some extra digit or two.
[11:57] Gavin.Hird @grid.xmir.org:8002 : bien sûr.
[11:59] Gavin.Hird @grid.xmir.org:8002: most likely some floating point inaccuracy
[11:57] Ubit Umarov : gavin, c'était "pas de nouvelles" :)
[11:59] Andrew Hellershanks: Yes, but if I enter some other value then enter what I originally entered it usually sticks.
[11:57] Ubit Umarov : pour une partie de la réunion
[11:59] Gavin.Hird @grid.xmir.org:8002: I have seen it occasionally in my viewer
[11:57] Ubit Umarov : Évidemment qu'ils vont ajouter quelque chose au viewer.
[11:59] Andrew Hellershanks: yea. Doesn't happen all the time but it is annoying.
[11:58] Gavin.Hird @grid.xmir.org:8002 : les nouvelles fonctionnalités seront des choses comme Bento ou quelque chose comme ça.
[11:59] Ubit Umarov: yeha some numbers back from float are not as we typed
[11:58] Ubit Umarov : je parie qu'ils ont aussi une tonne de demandes de fonctionnalités.
[12:00] Ubit Umarov: bc have no exact representation
[11:58] Gavin.Hird @grid.xmir.org:8002 : changements réels de viewer
[12:00] Gavin.Hird @grid.xmir.org:8002: which viewer is this?
[11:58] Andrew Hellershanks : Parfois, lorsque je saisis les coordonnées d'une prim dans l'éditeur, elles sont saisies telles quelles. D'autres fois, un chiffre supplémentaire non nul est ajouté. Je peux le forcer à revenir aux trois décimales que j'ai entrées en changeant le nombre puis en le changeant à nouveau. Avez-vous une idée de la raison pour laquelle cela se produit ?
[12:01] Ubit Umarov: but a round bf display should hide that
[11:59] Ubit Umarov : Problème d'interface entre Ko et la chaise ?
[12:01] Andrew Hellershanks: Some won't but if I'm able to put in another number then what I wanted and it sticks that seems to indicate it isn't always a representation issue.
[11:59] Andrew Hellershanks : Le viewer est tout à fait capable de gérer 3 décimales. C'est toujours un problème quand il veut ajouter un ou deux chiffres supplémentaires.
[12:01] Andrew Hellershanks: Gavin, um... I think all the ones I've used.
[11:59] Gavin.Hird @grid.xmir.org:8002 : probablement une imprécision de la virgule flottante.
[12:01] Andrew Hellershanks: Most recently in Firestorm.
[11:59] Andrew Hellershanks : Oui, mais si j'entre une autre valeur puis celle que j'ai entrée à l'origine, ça colle généralement.
[12:01] Kayaker Magic: I've had a problem where the viewer just doesn;t display all the digits in a number, if you scroll the little window left, you will see them
[11:59] Gavin.Hird @grid.xmir.org:8002 : Je l'ai observé occasionnellement dans mon viewer.
[12:02] Kayaker Magic: So I sometimes get a combination of those invisible digits added to what I type.
[11:59] Andrew Hellershanks : oui. Cela n'arrive pas tout le temps mais c'est ennuyeux.
[12:02] Gavin.Hird @grid.xmir.org:8002: some of the code that handles formatting is ancient, and even the xml for how the UI is laid out can be different from field to filed depending on when it was originally generated
[11:59] Ubit Umarov : oui, certains chiffres renvoyés par float ne sont pas ceux que nous avons tapés.
[12:02] Andrew Hellershanks: Kayaker, that can happen as the window only show so many digits at a time.
[12:00] Ubit Umarov : parce qu'ils n'ont  pas de représentation exacte.
[12:03] Andrew Hellershanks: hehe... it should store the numbers in BCD format. No problem. ;)
[12:00] Gavin.Hird @grid.xmir.org:8002: quel viewer ?
[12:03] Ubit Umarov: no idea when we will actuall add a new feature to opensim :(
[12:01] Ubit Umarov: mais si on les arrondit avant l'affichage, cela devrait être corriger
[12:03] Andrew Hellershanks: Did LL say what new features they are planning to add?
[12:01] Andrew Hellershanks : Certains nombres ne provoqueront pas cela mais, si je peux mettre un autre nombre que celui que je voulais et que ça colle, cela semble indiquer que ce n'est pas toujours un problème de représentation.
[12:04] Ubit Umarov: no andrew was just a "sure we will have something"
[12:01] Andrew Hellershanks : Gavin, hum... Je pense que tous ceux que j'ai utilisés.
[12:01] Andrew Hellershanks : Plus récemment dans Firestorm.
[12:01] Kayaker Magic : J'ai eu un problème où le viewer n'affichait pas tous les chiffres d'un nombre, si vous faites défiler la petite fenêtre vers la gauche, vous les verrez.
[12:02] Kayaker Magic : Il arrive donc que je reçoive une combinaison de ces chiffres invisibles ajoutés à ce que je tape.
[12:02] Gavin.Hird @grid.xmir.org:8002 : une partie du code qui gère le formatage est ancien, et même le xml pour la disposition de l'interface utilisateur peut être différent d'un champ à l'autre en fonction de la date à laquelle il a été généré.
[12:02] Andrew Hellershanks : Kayaker, cela peut arriver car la fenêtre ne peut afficher qu'un certain nombre de chiffres à la fois.
[12:03] Andrew Hellershanks : hehe... il devrait stocker les chiffres au format BCD. Pas de problème ;)
[12:03] Ubit Umarov : aucune idée de quand nous allons ajouter une nouvelle fonctionnalité à opensim :(
[12:03] Andrew Hellershanks : Est-ce que LL a dit quelles nouvelles fonctionnalités ils prévoient d'ajouter ?
[12:04] Ubit Umarov : non andrew c'était juste un "bien sûr nous aurons quelque chose".
[12:04] Andrew Hellershanks: ok
[12:04] Andrew Hellershanks: ok
[12:04] Gavin.Hird @grid.xmir.org:8002: the xml that lays out a field in the UI can be stacked many ways, and depending on what comes before what, it is getting bounced around different functions, so yeah
[12:04] Gavin.Hird @grid.xmir.org:8002 : le xml qui présente un champ dans l'interface utilisateur peut être empilé de plusieurs façons, et en fonction de ce qui précède quoi, il est envoyé dans différentes fonctions, donc oui.
[12:04] Ubit Umarov: and ll adding a feature does not mean we will :)
[12:04] Ubit Umarov : et le fait d'ajouter une fonctionnalité ne signifie pas que nous le ferons :)
[12:04] Gavin.Hird @grid.xmir.org:8002: IDK
[12:04] Gavin.Hird @grid.xmir.org:8002: Je ne sais pas.
[12:05] Andrew Hellershanks: Ubit, of course not.
[12:05] Andrew Hellershanks : Ubit, bien sûr que non.
[12:05] Gavin.Hird @grid.xmir.org:8002: PBR is a big request
[12:05] Gavin.Hird @grid.xmir.org:8002 : PBR est une grosse demande
[12:05] JayR.Cela @grid.3rdrockgrid.com:8002: PBR ?
[12:05] JayR.Cela @grid.3rdrockgrid.com:8002: PBR ?
[12:05] Andrew Hellershanks: Gavin, Pabst Blue Ribbon??
[12:05] Andrew Hellershanks : Gavin, Pabst Blue Ribbon ? ??
[12:05] Gavin.Hird @grid.xmir.org:8002: physics based rendering
[12:05] Gavin.Hird @grid.xmir.org:8002 : rendu basé sur la physique.
[12:05] Kayaker Magic: LOL
[12:05] Kayaker Magic: LOL
[12:05] Ubit Umarov: wee seen no feedback about 0.9.2.0 release
[12:06] Ubit Umarov: in fact not even coments
[12:06] Gavin.Hird @grid.xmir.org:8002: https://en.wikipedia.org/wiki/Physically_based_rendering
[12:06] Gavin.Hird @grid.xmir.org:8002: https://en.wikipedia.org/wiki/Physically_based_rendering
[12:06] Andrew Hellershanks: Gavin, ok. That makes more sense. Mind you, the coders might prefer some of the other version of PBR.
[12:06] Andrew Hellershanks : Gavin, ok. C'est plus clair. Cependant, les programmeurs pourraient préférer d'autres versions de PBR.
[12:06] Ubit Umarov: guess many grids where already on it
[12:07] Gavin.Hird @grid.xmir.org:8002 : Je soupçonne également qu'ils (LL) pourraient lancer une version xbox du viewer.
[12:07] Andrew Hellershanks: Ubit, I wouldn't count on that. A lot had not even upgraded to 0.9 or had been slow to adopt it. I wouldn't expect a fast migration to 0.9.2
[12:07] Michael.Christopher @cc.opensimulator.org:8002 : LL xbox viewer ?!?
[12:07] Ubit Umarov : le rendu de la base physique s'appelle "Bob Ross".
[12:07] Gavin.Hird @grid.xmir.org:8002 : ouais xbox
[12:07] Ubit Umarov : laso inclut "happy little trees" etc...
[12:07] Gavin.Hird @grid.xmir.org:8002 : ce qui nécessitera le PBR.
[12:08] Andrew Hellershanks: Ubit, :)
[12:08] Gavin.Hird @grid.xmir.org:8002 : mais nous verrons bien.
[12:08] Andrew Hellershanks fait un signe de tête
</pre>
 
= Ubit attend des retours sur la version 0.9.2.0=
<pre>
[12:05] Ubit Umarov : Nous n'avons vu aucun retour sur la version 0.9.2.0.
[12:06] Ubit Umarov : en fait, même pas de commentaires.
[12:06] Ubit Umarov : Je pensais que beaucoup de grilles étaient déjà sur cette version.
[12:07] Andrew Hellershanks : Ubit, je ne compterais pas là-dessus. Beaucoup de grilles n'ont même pas été mises à jour vers la version 0.9 ou ont été lentes à l'adopter. Je ne m'attendrais pas à une migration rapide vers la 0.9.2.
[12:07] Gavin.Hird @grid.xmir.org:8002: I also suspect they may launch an xbox version of the viewer
[12:07] Gavin.Hird @grid.xmir.org:8002: I also suspect they may launch an xbox version of the viewer
[12:07] Michael.Christopher @cc.opensimulator.org:8002: LL xbox viewer?!?
[12:07] Michael.Christopher @cc.opensimulator.org:8002: LL xbox viewer?!?
[12:07] Ubit Umarov: physical base rendering is called "Bob Ross"
</pre>
[12:07] Gavin.Hird @grid.xmir.org:8002: yeah xbox
 
[12:07] Ubit Umarov: laso includes "happy little trees" etc
=Conclusion et bon appétit =
[12:07] Gavin.Hird @grid.xmir.org:8002: which will reguire PBR
[https://en.wikipedia.org/wiki/Stir_frying Stir frying](en) : technique de cuisson chinoise dans laquelle les ingrédients sont frits dans une petite quantité d'huile très chaude tout en étant remués ou mélangés dans un wok. Cette technique est originaire de Chine et s'est répandue au cours des derniers siècles dans d'autres régions d'Asie et en Occident. Elle est similaire au sauté dans la technique de cuisson occidentale.  
[12:08] Andrew Hellershanks: Ubit, :)
[https://opensimworld.com/dir/?grid=grid.kitely.com:8002 Kitely]
[12:08] Gavin.Hird @grid.xmir.org:8002: but we shall see
<pre>
[12:08] Andrew Hellershanks nod
[12:09] Andrew Hellershanks : Des dernières pensées, commentaires ou questions avant de conclure la réunion d'aujourd'hui ?
[12:09] Andrew Hellershanks: Any final thoughts, comments, or questions before we wrap up todays gathering?
[12:09] JayR.Cela @grid.3rdrockgrid.com:8002 : C'est bon pour moi :)
[12:09] JayR.Cela @grid.3rdrockgrid.com:8002: Im good :_)
[12:09] Ubit Umarov : Qu'est-ce qu'on mange ?
[12:09] Ubit Umarov: whats for dinner?
[12:09] Gavin.Hird @grid.xmir.org:8002 : C'était il y a 3 heures.
[12:09] Gavin.Hird @grid.xmir.org:8002: that was 3 hours ago
[12:09] Andrew Hellershanks: Stir Fry
[12:09] Andrew Hellershanks: Stir Fry
[12:09] Michael.Christopher @cc.opensimulator.org:8002: im good too lol
[12:09] Michael.Christopher @cc.opensimulator.org:8002 : je suis aussi d'accord. lol
[12:09] Jamie.Jordan @grid.kitely.com:8002: yeah i'm hungry
[12:09] Jamie.Jordan @grid.kitely.com:8002 : Oui, j'ai faim.
[12:10] Kayaker Magic: leftover roast duck
[12:10] Kayaker Magic : restes de canard rôti
[12:10] Ubit Umarov: Dann and you didn't call me gavin ?
[12:10] Ubit Umarov : Dann et tu ne m'as pas appelé Gavin ?
[12:10] Gavin.Hird @grid.xmir.org:8002: hehe
[12:10] Gavin.Hird @grid.xmir.org:8002: hehe
[12:10] Andrew Hellershanks: ok, I'll let you head out in search of food if you haven't already eaten.
[12:10] Andrew Hellershanks : ok, je vous laisse partir à la recherche de nourriture si vous n'avez pas déjà mangé.
[12:10] Gavin.Hird @grid.xmir.org:8002: I have some lunch trays bought on Kitely
[12:10] Gavin.Hird @grid.xmir.org:8002 : J'ai des plateaux repas achetés sur Kitely.
[12:10] Andrew Hellershanks: That will do it for today. Thank you all for coming. See you again next week.
[12:10] Andrew Hellershanks : C'est tout pour aujourd'hui. Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.
</pre>
</pre>

Dernière version du 12 janvier 2022 à 18:46

Source :http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-01-11

Introduction

[11:00] Kayaker Magic : Et moi qui espérais que la réunion soit courte....
[11:00] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew.
[11:00] Ubit Umarov : oh et il y a  Andrew le banc 
[11:00] Ubit Umarov : blanc
[11:00] Andrew Hellershanks : Bonjour, tout le monde.
[11:00] Andrew Hellershanks : Je peux faire en sorte que la réunion soit courte.
[11:00] Andrew Hellershanks : Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
[11:00] Andrew Hellershanks sourit.
[11:00] JayR.Cela @grid.3rdrockgrid.com:8002: lol
[11:01] Ubit Umarov : Les assets d'osgrid pourraient prendre encore 120 jours.
[11:01] Ubit Umarov: gezz
[11:01] Andrew Hellershanks : Pourquoi une réunion courte, Kayaker.
[11:01] Andrew Hellershanks : 120 jours ? Eek.
[11:01] Andrew Hellershanks : Je vais être un Andrew le blanc pendant un bon moment encore.
[11:01] Gavin.Hird @grid.xmir.org:8002 : Mon dieu, sur quelle variante de covid nous serons à ce moment là ?
[11:01] Kayaker Magic : Ubit plaisantait en disant au revoir, à la semaine prochaine.
[11:01] Jagga Meredith: zulu
[11:01] Ubit Umarov: un potentiel Andrew le rose aurait été pire.
[11:02] Andrew Hellershanks : Je vois mon avatar en gris.
[11:02] Gavin.Hird @grid.xmir.org:8002 : espace gris.
[11:02] Kayaker Magic : Andrew : tu es blanc pour moi, pas de textures.
[11:03] Andrew Hellershanks : Eh bien, le gris est un blanc cassé, en quelque sorte.
[11:03] Andrew Hellershanks : :)
[11:03] Jagga Meredith : Je vais bien.  Mais je n'ai pas changé de tenue depuis environ 5 ans.
[11:03] Gavin.Hird @grid.xmir.org:8002 : il est probablement blanc, mais l'éclairage le fait paraître gris clair.
[11:03] Andrew Hellershanks : Je n'ai pas changé de tenue depuis longtemps non plus.
[11:03] Ubit Umarov : oui, il y a des nuances de gris ici aussi.
[11:03] Gavin.Hird @grid.xmir.org:8002 : Je pense qu'aucun d'entre nous ne l'a fait, haha.
[11:04] Andrew Hellershanks murmure : Je semble être  "chanceux" car je ne vois personne d'autre avec un avatar gris ou blanc. Devrais-je acheter un billet de loterie ?
[11:04] Ubit Umarov : ( et plus de cinquante)
[11:04] Gavin.Hird @grid.xmir.org:8002 : mais c'est seulement si tu utilises le viewer RLV Ubit.
[11:04] Jamie.Jordan @grid.kitely.com:8002 : Bonjour tout le monde.
[11:05] Andrew Hellershanks : Ubit a cessé de porter son masque Covid.
[11:05] Gavin.Hird @grid.xmir.org:8002 : il a abandonné.
[11:05] Andrew Hellershanks : Bonjour, Jamie
[11:05] Gavin.Hird @grid.xmir.org:8002 : Salut Jamie
[11:05] Selby.Evans @grid.kitely.com:8002 : Salut Jamie
[11:05] Gavin.Hird @grid.xmir.org:8002 : ... ou l'inventaire est en cours de migration.
[11:07] Jagga Meredith : à quoi servait la panne du week-end ?
[11:08] Ubit Umarov : oops masque ??
[11:08] Ubit Umarov : Ohh noo
[11:08] Ubit Umarov : corrigé

Le service d'assets de OSGrid : code privé et fermé

[11:09] Ubit Umarov : pas d'information officielle de la part d'osgrid.
[11:10] Ubit Umarov : mais il semble que mariadb fonctionnant en mode cluster / maître -esclave vient d'exploser à nouveau.
[11:10] Ubit Umarov : et remplacé maintenant par un autre fork de mysql
[11:10] Andrew Hellershanks : ouch
[11:10] Gavin.Hird @grid.xmir.org:8002 : il est peut-être temps d'utiliser une vraie base de données.
[11:11] Gavin.Hird @grid.xmir.org:8002 : fork de mysql ?
[11:11] Ubit Umarov : oui.
[11:11] Gavin.Hird @grid.xmir.org:8002 : qui serait ?
[11:11] Ubit Umarov : ( comme l'était Mariadb )
[11:11] Ubit Umarov : je n'ai pas de déclarations officielles sur osgrid :)
[11:12] Gavin.Hird @grid.xmir.org:8002 : Je suppose qu'ils ne maintiennent pas le fork
[11:12] Gavin.Hird @grid.xmir.org:8002 : Je me demande quel est le nom du projet forké.
[11:12] Ubit Umarov : ces services d'assets ne sont même pas du code opensimulator.
[11:12] Ubit Umarov : mais une solution privée fermée... donc... nous ne pouvons pas en dire grand chose.
[11:12] Gavin.Hird @grid.xmir.org:8002 : alors est-ce que c'est encore une grille de test ?
[11:13] Ubit Umarov : oui test possible pour cette solution fermée et privée, pas pour opensimulator, dans ce domaine :)
[11:13] Ubit Umarov : mais lbsa est en train de brûler le (presque) dernier code.
[11:13] Ubit Umarov : alors cette région est-elle en train de brûler ?
[11:13] Andrew Hellershanks : brûle-t-elle ? :)
[11:14] Ubit Umarov : en fait, c'est la dernière.

Brûler vs Graver : humour de dev ?

Ndlr : j'avoue ne pas avoir tout compris, la traduction peut-être très approximative, encore plus que d'habitude. ;)

  • RS/600
  • AFAIK : As Far As I Know = Pour autant que je sache.
[11:14] Gavin.Hird @grid.xmir.org:8002 : brûler des cycles de CPU
[11:14] Ubit Umarov : ouais :)
[11:14] Andrew Hellershanks : Oui.
[11:14] Ubit Umarov : si je me souviens bien, à l'époque de la production des circuits intégrés, il y avait une étape optionnelle de gravure.
[11:15] Gavin.Hird @grid.xmir.org:8002 : brûlage ou burn-in ?
[11:15] Ubit Umarov : quand les circuits intégrés étaient placés sur un circuit fonctionnant pendant plusieurs heures.
[11:15] Andrew Hellershanks: burn-in (graver)
[11:15] Ubit Umarov : ou cela
[11:16] Andrew Hellershanks : Ce serait brûlé si le test échoue ;)
[11:16] Gavin.Hird @grid.xmir.org:8002 : :-)
[11:16] Ubit Umarov : le problème est que la probabilité d'un défaut a une forme de baignoire (bath tube).
[11:16] Gavin.Hird @grid.xmir.org:8002 : le RS/6000 avait un code de console HW qui disait "le CPU est en feu".
[11:16] Ubit Umarov : élevé dans les premières heures de la vie d'une pièce... puis élevé à nouveau en fin de vie.
[11:17] Ubit Umarov : donc le fait de traiter la pièce avant la production a permis d'exclure un plus grand nombre de ces échecs précoces.
[11:17] Andrew Hellershanks : Je me souviens qu'un produit développé par une entreprise pour laquelle je travaillais il y a quelques 
années mettait les composants dans une pièce pour les brûler/graver à haute température.
[11:18] Ubit Umarov : donc pour le coup... code brûlant à lbsa ;)
[11:18] Gavin.Hird @grid.xmir.org:8002 : AFAIK tous les appareils Apple sont soumis à un burn-in avant d'être envoyés aux clients.
[11:19] Andrew Hellershanks : Je dirais que c'est une pratique courante dans l'industrie de faire un burn-in du produit.
[11:19] Gavin.Hird @grid.xmir.org:8002: oui
[11:19] Ubit Umarov : pas vraiment.
[11:19] Ubit Umarov : sur les produits de consommation bon marché.
[11:19] Ubit Umarov : autrefois... plus maintenant.
[11:20] Ubit Umarov : cela reste possible sur les produits haut de gamme.
[11:20] Ubit Umarov : les pièces  défaillantes sont réutilisées sur des produits moins chers ( je pense :p )
[11:20] Ubit Umarov : bien mais à propos d'opensim
[11:20] Ubit Umarov : quelles nouvelles avez-vous ?

Nouvelles d'OpenSim

diffstat

Nouvelles fonctionnalités

[11:21] Gavin.Hird @grid.xmir.org:8002 : LL a mentionné qu'ils allaient lancer de nouvelles fonctionnalités cette année
[11:22] Ubit Umarov : dire le contraire signifierait "nous sommes morts" :)
[11:22] Gavin.Hird @grid.xmir.org:8002 : donc gardez vos reins solides.

Modification du code des uuid dans libomv

JIT -- Compilation à la volée

[11:08] Andrew Hellershanks : Ubit a été occupé la semaine dernière. J'ai touché à beaucoup de fichiers afin d'examiner la façon dont certains codes étaient générés. Cela peut aider un peu à améliorer les performances du code de la grille.
[11:22] Andrew Hellershanks : En plus des modifications,  pour gagner du temps lors de tests ou de comparaisons d'UUID, il y a eu une ou plusieurs mises à jour de la bibliothèque libomv.
[11:22] Ubit Umarov : les changements de libomv sont liés.
[11:22] Ubit Umarov : parce que le code des uuid est dans libomv et a été modifié.
[11:22] Ubit Umarov : modifié
[11:22] Andrew Hellershanks : Je pensais que c'était le cas d'après les messages de commit.
[11:23] Ubit Umarov : donc beaucoup de fichiers ont été modifiés.
[11:24] Andrew Hellershanks : En revoyant les changements d'Ubit, j'ai seulement noté environ 3 autres changements à faire mais aucune erreur. 
Cela a pris pas mal de temps pour revoir les commits car ils touchent beaucoup de fichiers.
[11:24] Ubit Umarov : avec des changements comme auuid == UUID.Zero remplacé par un nouveau auuis.IsZero()
[11:24] Ubit Umarov : par exemple
[11:24] Andrew Hellershanks : Je me demande ce que diffstat pourrait rapporter quant au nombre de changements.
[11:24] Ubit Umarov : la première forme signifie au moins 2 blocs de copies de 16 octets..
[11:25] Ubit Umarov : en tant qu'argument passé à la fonction qui fait le ==.
[11:25] Ubit Umarov : dans le vrai code JIT, et parce qu'il y avait une chaîne d'appels... il y avait environ 8 copies.
[11:25] Ubit Umarov : toutes inutiles... mais bon
[11:26] Andrew Hellershanks : Il semble un peu étrange qu'il faille copier des données juste pour faire une comparaison.
[11:26] Ubit Umarov : auuid.IsZero d'autre part est un appel sans arguments à une méthode qui fait la vérification de zéro.
[11:26] Ubit Umarov : donc beaucoup plus rapide.
[11:26] Andrew Hellershanks : J'aurais pensé qu'il aurait pu faire la comparaison en place en utilisant l'emplacement de la variable originale.
[11:27] Ubit Umarov : ouais, la confiance dans les compilateurs :P
[11:27] Andrew Hellershanks : oui. Il peut être assez révélateur de regarder le code assembler généré.
[11:27] Gavin.Hird @grid.xmir.org:8002 : en le copiant des deux côtés, le test sera toujours vrai.
[11:27] Ubit Umarov : et != pourrait même avoir un autre ensemble de copies.
[11:28] Ubit Umarov : par exemple
[11:28] Ubit Umarov : if(ua != ub) a était
[11:28] Ubit Umarov: <Ubit_> <Ubit_> 00007FFB371C10FB  vmovdqu     xmm0,xmmword ptr [rsp+200h]  
<Ubit_> <Ubit_> 00007FFB371C1105  vmovdqu     xmmword ptr [rsp+118h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C110F  vmovdqu     xmm0,xmmword ptr [rsp+210h]  
<Ubit_> <Ubit_> 00007FFB371C1119  vmovdqu     xmmword ptr [rsp+108h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C1123  vmovdqu     xmm0,xmmword ptr [rsp+118h]  
<Ubit_> <Ubit_> 00007FFB371C112D  vmovdqu     xmmword ptr [rsp+0F8h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C1137  vmovdqu     xmm0,xmmword ptr [rsp+108h]  
<Ubit_> <Ubit_> 00007FFB371C1141  vmovdqu     xmmword ptr [rsp+0E8h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C114B  vmovdqu     xmm0,xmmword ptr [rsp+0F8h]  
<Ubit_> <Ubit_> 00007FFB371C1155  vmovdqu     xmmword ptr [rsp+38h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C115C  vmovdqu     xmm0,xmmword ptr [rsp+0E8h]  
<Ubit_> <Ubit_> 00007FFB371C1166  vmovdqu     xmmword ptr [rsp+28h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C116D  lea         rcx,[rsp+38h]  
<Ubit_> <Ubit_> 00007FFB371C
[11:28] Ubit Umarov:  rdx,[rsp+28h]  
<Ubit_> <Ubit_> 00007FFB371C1177  call        System.Guid.op_Equality(System.Guid, System.Guid) (07FFB8FD4BE90h)  
<Ubit_> <Ubit_> 00007FFB371C117C  test        al,al  
<Ubit_> <Ubit_> 00007FFB371C117E  jne         testlixo.Program.Main(System.String[])+03E2h (
[11:29] Ubit Umarov : en mode windows release, code natif i7
[11:30] Andrew Hellershanks : Qu'est-ce que le code faisait auparavant pour la vérification du zéro ?
[11:31] Andrew Hellershanks : Pendant qu'Ubit réfléchit à cette question, d'autres questions sur OpenSim ? 
(Ndlr : voir la suite dans le prochain sous chapitre)
[11:32] Ubit Umarov : c'était pareil.
[11:33] Ubit Umarov : UUID.Zero est un uuid comme les autres, prenant la place de ub là.
[11:33] Ubit Umarov : donc même code
[11:35] Ubit Umarov : maintenant :
[11:35] Ubit Umarov : 118 : if (ua.IsZero())
00007FFB371B3317 cmp qword ptr [rsp+190h],0  
00007FFB371B3320 jne 00007FFB371B332F  
00007FFB371B3322 cmp qword ptr [rsp+198h],0  
00007FFB371B332B jne 00007FFB371B332F
[11:35] Ubit Umarov : compare juste 4 ulongs.
[11:35] Ubit Umarov : et direct, et inline... pas de copies
[11:36] Ubit Umarov : aussi maintenant
[11:36] Ubit Umarov : 115 : if (ua != ub)
00007FFB371B32C9 vmovdqu xmm0,xmmword ptr [rsp+190h]  
00007FFB371B32D3 vmovdqu xmmword ptr [rsp+0E8h],xmm0  
00007FFB371B32DD vmovdqu xmm0,ptr xmmword [rsp+1A0h]  
00007FFB371B32E7 vmovdqu xmmword ptr [rsp+0D8h],xmm0  
00007FFB371B32F1 mov rcx,ptr qword [rsp+0E8h]  
00007FFB371B32F9 cmp rcx,ptr qword [rsp+0D8h]  
00007FFB371B3301 jne 00007FFB371B3315  
00007FFB371B3303 mov rcx,ptr qword [rsp+0F0h]  
00007FFB371B330B cmp rcx,ptr qword [rsp+0E0h]  
00007FFB371B3313 je 00007FFB371B3317
[11:36] Ubit Umarov : une seule copie.
[11:36] Ubit Umarov : et la comparaison est maintenant la comparaison de 2 ulongs aussi en ligne.
[11:37] Ubit Umarov : vmovdqu est une instruction intel AVX (sse) qui déplace 16 octets (dans un registre xmm).
[11:38] Ubit Umarov : comme je l'ai dit dans d'autres commits "économisez du CO2" "changements inutiles".
[11:38] Ubit Umarov : parce que nous ne voyons aucun effet :p
[11:38] Andrew Hellershanks : Je ne qualifierais pas les changements d'inutiles.
[11:38] Gavin.Hird @grid.xmir.org:8002 : pourquoi pas mono - je suppose que l'assembly généré par mono est assez différent.
[11:38] Ubit Umarov : les utilisateurs normaux inwold ne le remarquent pas.
[11:39] Ubit Umarov : oui, mono JIT est dif.
[11:39] Ubit Umarov : et peut même être celui de ms sur celui de llvm.
[11:39] Andrew Hellershanks : Non, les utilisateurs normaux ne le verront pas, mais ceux qui gèrent une grille remarqueront l'amélioration.
[11:39] Ubit Umarov : yeha, j'espère que cela signifie moins de charge globale sur le processeur.
[11:39] Gavin.Hird @grid.xmir.org:8002 : sans parler du fait que mono utilise aussi LLVM.
[11:39] Ubit Umarov : LLVM est optionnel.
[11:40] Gavin.Hird @grid.xmir.org:8002 : mono sur macOS est un standard llvm.
[11:40] Ubit Umarov : les mêmes disent que ms jit est maintenant plus rapide... certains ne le disent pas.
[11:40] Gavin.Hird @grid.xmir.org:8002 : ce qui le rend un peu plus rapide.
[11:40] Ubit Umarov : Mais ce que j'ai fait précédemment était un gros échec d'optimisation JIT.
[11:40] Ubit Umarov : toutes ces copies sont inutiles.
[11:41] Gavin.Hird @grid.xmir.org:8002 : avec un peu de chance, llvm enlèvera tout le désordre.
[11:41] Andrew Hellershanks : Il est difficile d'obtenir des statistiques utilisables sur l'amélioration, car même une région " inactive " a toujours des bouffées d'activité. Je pense que le changement a fait baisser la charge CPU de ma standalone d'environ 1%, mais les chiffres sont très variables.
[11:41] Ubit Umarov : même sur la nouvelle comparaison.
[11:41] Ubit Umarov : <Ubit_> <Ubit_> 00007FFB371C10FB vmovdqu xmm0,xmmword ptr [rsp+200h]  
<Ubit_> <Ubit_> 00007FFB371C1105 vmovdqu xmmword ptr [rsp+118h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C110F vmovdqu xmm0,xmmword ptr [rsp+210h]  
<Ubit_> <Ubit_> 00007FFB371C1119 vmovdqu xmmword ptr [rsp+108h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C1123 vmovdqu xmm0,xmmword ptr [rsp+118h]  
<Ubit_> <Ubit_> 00007FFB371C112D vmovdqu xmmword ptr [rsp+0F8h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C1137 vmovdqu xmm0,xmmword ptr [rsp+108h]  
<Ubit_> <Ubit_> 00007FFB371C1141 vmovdqu xmmword ptr [rsp+0E8h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C114B vmovdqu xmm0,xmmword ptr [rsp+0F8h]  
<Ubit_> <Ubit_> 00007FFB371C1155 vmovdqu xmmword ptr [rsp+38h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C115C vmovdqu xmm0,xmmword ptr [rsp+0E8h]  
<Ubit_> <Ubit_> 00007FFB371C1166 vmovdqu xmmword ptr [rsp+28h],xmm0  
<Ubit_> <Ubit_> 00007FFB371C116D lea rcx, [rsp+38h]  
<Ubit_> <Ubit_> 00007FFB371C
[11:41] Ubit Umarov : rdx, [rsp+28h]  
<Ubit_> <Ubit_> 00007FFB371C1177 call System.Guid.op_Equality(System.Guid, System.Guid) (07FFB8FD4BE90h)  
<Ubit_> <Ubit_> 00007FFB371C117C test al,al  
<Ubit_> <Ubit_> 00007FFB371C117E jne testlixo.Program.Main(System.String[])+03E2h (
[11:41] Ubit Umarov : ces copies sont aussi inutiles.
[11:41] Ubit Umarov : mais par spec
[11:41] Ubit Umarov : oops c'est l'ancien.
[11:42] Ubit Umarov : 115 : if (ua != ub)
00007FFB371B32C9 vmovdqu xmm0,xmmword ptr [rsp+190h]  
00007FFB371B32D3 vmovdqu xmmword ptr [rsp+0E8h],xmm0  
00007FFB371B32DD vmovdqu xmm0,ptr xmmword [rsp+1A0h]  
00007FFB371B32E7 vmovdqu xmmword ptr [rsp+0D8h],xmm0  
00007FFB371B32F1 mov rcx,ptr qword [rsp+0E8h]  
00007FFB371B32F9 cmp rcx,ptr qword [rsp+0D8h]  
00007FFB371B3301 jne 00007FFB371B3315  
00007FFB371B3303 mov rcx,ptr qword [rsp+0F0h]  
00007FFB371B330B cmp rcx,ptr qword [rsp+0E0h]  
00007FFB371B3313 je 00007FFB371B3317
[11:43] Ubit Umarov : c'est aussi du code JIT stupide... meilleur mais stupide.
[11:43] Ubit Umarov : JIT a détecté qu'il n'était pas nécessaire d'appeler une fonction.
[11:43] Ubit Umarov : mais il n'a pas vu que les copies d'arguments respectifs ne sont pas non plus nécessaires.

Pas d'autres questions ?

Raspberry Pi

[11:32] JayR.Cela @grid.3rdrockgrid.com:8002 : rien de mon côté.
[11:32] Andrew Hellershanks regarde Kayaker.
[11:33] Andrew Hellershanks : Bonjour, Michael.
[11:33] La Chaise de Bill chuchote : C'est la Chaise de Bill
[11:33] Gavin.Hird @grid.xmir.org:8002 : Salut Michael
[11:33] Michael.Christopher @cc.opensimulator.org:8002 : bonjour !
[11:33] Andrew Hellershanks : Tu ne peux pas t'asseoir là, Michael. Choisis un autre siège.
[11:33] Andrew Hellershanks : C'est ça.
[11:34] Kayaker Magic : C'est bon pour moi cette semaine.
[11:34] Andrew Hellershanks: ok
[11:34] Andrew Hellershanks : Quelqu'un d'autre ?
[11:34] Michael.Christopher @cc.opensimulator.org:8002 : rien de nouveau ici cette semaine, j'attends toujours que le système de remplacement des développeurs arrive :/.
[11:35] Andrew Hellershanks : Le Père Noël est un peu lent dans sa livraison du système, Michael ? ;)
[11:36] Michael.Christopher @cc.opensimulator.org:8002 : lol yea.  Nous avons commandé en décembre et il est juste passé au statut "expédition" aujourd'hui *roulement d'yeux*.
[11:36] Gavin.Hird @grid.xmir.org:8002 : bien, essayez d'acheter un Raspberry PI 8GB quelque part
[11:36] Gavin.Hird @grid.xmir.org:8002 : vous pouvez les obtenir à 3x le prix normal.
[11:36] Andrew Hellershanks : J'ai juste mon 4G Pi 4.
[11:36] Gavin.Hird @grid.xmir.org:8002 : le 4GB est également en rupture de stock partout.
[11:37] Gavin.Hird @grid.xmir.org:8002 : Canon demande à ses clients de casser les DRM des toners d'imprimantes car ils ne peuvent plus obtenir les puces pour les toners.
[11:41] Andrew Hellershanks : Bon retour , Jamie
[11:43] Jamie.Jordan @grid.kitely.com:8002 : Merci, j'ai planté je ne sais pas pourquoi.

Compilateurs et problèmes

[11:44] Ubit Umarov : je rigole quand des gens intelligents disent qu'il faut faire confiance aux compilateurs.
[11:44] Ubit Umarov : rire aussi
[11:45] Gavin.Hird @grid.xmir.org:8002 : ouais, c'était mieux dans le passé quand on pouvait appuyer sur halt, corriger le code dans le noyau et continuer.
[11:45] Ubit Umarov : aussi == est mauvais
[11:46] Ubit Umarov : cela signifie 2 arguments.
[11:46] Ubit Umarov : alors que auuid.Equals(other) fait 1 seul argument
[11:47] Ubit Umarov : alors oui, les compilateurs sont intelligents et voient tout pour nous... dit-on...
[11:47] Ubit Umarov : LOL
[11:47] Ubit Umarov : peu importe
[11:47] Ubit Umarov : changer le code de bas niveau sur libopenmetaverse
[11:47] Andrew Hellershanks : J'ai eu un problème une fois avec du code. Quand j'ai creusé dans l'assembly généré, j'ai découvert que le compilateur s'amusait avec le caractère \n (saut de ligne) dans une chaîne. Il aurait dû le laisser tranquille et il aurait été traduit en caractères utilisés par le système d'exploitation lors de la sortie de la chaîne. Le fabricant du compilateur a déclaré qu'il suivait la norme ANSI. La gestion des \N n'a certainement pas été faite selon K&R.
[11:47] Ubit Umarov : et eux sur une tonne d'endroits où nous les utilisons.
[11:48] Ubit Umarov : oui, les problèmes avec les compilateurs sont aussi vieux que les compilateurs.
[11:48] Ubit Umarov : gcc était très amusant et l'est toujours.
[11:48] Ubit Umarov :(PAS)Très amusant.
[11:49] Ubit Umarov : ceci au moins produit des résultats corrects !!!
[11:49] Ubit Umarov : et JIT a été capable de voir que le processeur peut copier 16 octets sur une seule instruction.
[11:49] Ubit Umarov : pas bas
[11:49] Ubit Umarov : pas mauvais
[11:50] Ubit Umarov : sauf mes fautes de frappe
[11:50] Andrew Hellershanks : :)
[11:50] Ubit Umarov : obtenir un UbitTranslator
[11:50] Ubit Umarov : :p
[11:51] Andrew Hellershanks : nooon... la plupart, sinon tous, d'entre nous savent lire le typon.
[11:51] Ubit Umarov : :)
[11:51] Andrew Hellershanks : Combien de fois ça fait, Jamie ?
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : dont la plupart d'entre nous écrivent en typon ;)
[11:51] Gavin.Hird @grid.xmir.org:8002 : maintenant il fait du sur-place, donc il doit se reconnecter pour effacer cela.

Changements au niveau des scripts et autres

[11:52] Ubit Umarov : j'ai aussi appliqué un maximum de 64k sur osmakenotecard. 
[11:52] Ubit Umarov : "annulé (inversé ?) le ralentissement de osMessageObject. réduit également le ralentissement de osMessageAttachments à (100 + 10 *NumberTargetedPrims) milisecondes. Certaines actions du jeu ont montré un léger impact négatif visible, alors testons..."
[11:52] Andrew Hellershanks : Une limite raisonnable, Ubit. 64k de texte, c'est beaucoup de texte à lire. La plupart des gens ne liraient pas une NoteCard avec autant de texte.
[11:53] Ubit Umarov : un jeu ici sur osg a  montré un impact négatif visible.
[11:53] Gavin.Hird @grid.xmir.org:8002: ok?
[11:53] Ubit Umarov : " * contourné correctement les octets supplémentaires de l'en-tête lludp, même si cela n'a pas été vu jusqu'à présent.
[11:53] Ubit Umarov : c'est plutôt un changement inutile.
[11:54] Ubit Umarov : il se trouve que le protocole LLUDP supporte des en-têtes de paquets plus longs.
[11:54] Ubit Umarov : le code de sortie exploserait si cela se produisait.
[11:54] Ubit Umarov : maintenant je vais juste laisser les octets supplémentaires s'il y en a.
[11:55] Ubit Umarov : je n'ai  vu dans un  viewer aucune utilisation de ces octets.
[11:55] Ubit Umarov : mais c'est une correction de protocole formel.
[11:56] Ubit Umarov : je suppose que cela couvre les changements de code de la semaine dernière.
[11:56] Ubit Umarov : pas beaucoup de rapports de bogues.
[11:56] Ubit Umarov : il y en a un que je ne peux toujours pas repo.

Les viewers -- Nouvelles fonctionnalités

Le rendu physique réaliste a pour but de donner aux objets virtuels une apparence proche de celle qu'ils auraient en réalité, et de baser le rendu des matériaux sur un nombre réduit de propriétés physiques3 qui sont peu interdépendantes, pour simplifier le travail des infographistes

[11:55] Andrew Hellershanks : Jamie vient juste de faire *poof* à nouveau.
[11:56] Andrew Hellershanks : Nous sommes à quelques minutes de la fin de l'heure. Des questions ou des commentaires de dernière minute ?
[11:56] Andrew Hellershanks : Quelque chose en rapport avec le viewer, Gavin ?
[11:56] Gavin.Hird @grid.xmir.org:8002 : pas vraiment.
[11:57] Andrew Hellershanks : Gavin, j'ai une question concernant le viewer.
[11:57] Gavin.Hird @grid.xmir.org:8002 : LL a dit qu'ils allaient ajouter de nouvelles fonctionnalités qui nécessiteront des changements de viewer cette année.
[11:57] Gavin.Hird @grid.xmir.org:8002 : pas de mention sur quoi
[11:57] Gavin.Hird @grid.xmir.org:8002 : bien sûr.
[11:57] Ubit Umarov : gavin, c'était "pas de nouvelles" :)
[11:57] Ubit Umarov : pour une partie de la réunion
[11:57] Ubit Umarov : Évidemment qu'ils vont ajouter quelque chose au viewer.
[11:58] Gavin.Hird @grid.xmir.org:8002 : les nouvelles fonctionnalités seront des choses comme Bento ou quelque chose comme ça.
[11:58] Ubit Umarov : je parie qu'ils ont aussi une tonne de demandes de fonctionnalités.
[11:58] Gavin.Hird @grid.xmir.org:8002 : changements réels de viewer
[11:58] Andrew Hellershanks : Parfois, lorsque je saisis les coordonnées d'une prim dans l'éditeur, elles sont saisies telles quelles. D'autres fois, un chiffre supplémentaire non nul est ajouté. Je peux le forcer à revenir aux trois décimales que j'ai entrées en changeant le nombre puis en le changeant à nouveau. Avez-vous une idée de la raison pour laquelle cela se produit ?
[11:59] Ubit Umarov : Problème d'interface entre Ko et la chaise ?
[11:59] Andrew Hellershanks : Le viewer est tout à fait capable de gérer 3 décimales. C'est toujours un problème quand il veut ajouter un ou deux chiffres supplémentaires.
[11:59] Gavin.Hird @grid.xmir.org:8002 : probablement une imprécision de la virgule flottante.
[11:59] Andrew Hellershanks : Oui, mais si j'entre une autre valeur puis celle que j'ai entrée à l'origine, ça colle généralement.
[11:59] Gavin.Hird @grid.xmir.org:8002 : Je l'ai observé occasionnellement dans mon viewer.
[11:59] Andrew Hellershanks : oui. Cela n'arrive pas tout le temps mais c'est ennuyeux.
[11:59] Ubit Umarov : oui, certains chiffres renvoyés par float ne sont pas ceux que nous avons tapés.
[12:00] Ubit Umarov : parce qu'ils n'ont  pas de représentation exacte.
[12:00] Gavin.Hird @grid.xmir.org:8002: quel viewer ?
[12:01] Ubit Umarov: mais si on les arrondit avant l'affichage, cela devrait être corriger 
[12:01] Andrew Hellershanks : Certains nombres ne provoqueront pas cela mais, si je peux mettre un autre nombre que celui que je voulais et que ça colle, cela semble indiquer que ce n'est pas toujours un problème de représentation.
[12:01] Andrew Hellershanks : Gavin, hum... Je pense que tous ceux que j'ai utilisés.
[12:01] Andrew Hellershanks : Plus récemment dans Firestorm.
[12:01] Kayaker Magic : J'ai eu un problème où le viewer n'affichait pas tous les chiffres d'un nombre, si vous faites défiler la petite fenêtre vers la gauche, vous les verrez.
[12:02] Kayaker Magic : Il arrive donc que je reçoive une combinaison de ces chiffres invisibles ajoutés à ce que je tape.
[12:02] Gavin.Hird @grid.xmir.org:8002 : une partie du code qui gère le formatage est ancien, et même le xml pour la disposition de l'interface utilisateur peut être différent d'un champ à l'autre en fonction de la date à laquelle il a été généré.
[12:02] Andrew Hellershanks : Kayaker, cela peut arriver car la fenêtre ne peut afficher qu'un certain nombre de chiffres à la fois.
[12:03] Andrew Hellershanks : hehe... il devrait stocker les chiffres au format BCD. Pas de problème ;)
[12:03] Ubit Umarov : aucune idée de quand nous allons ajouter une nouvelle fonctionnalité à opensim :(
[12:03] Andrew Hellershanks : Est-ce que LL a dit quelles nouvelles fonctionnalités ils prévoient d'ajouter ?
[12:04] Ubit Umarov : non andrew c'était juste un "bien sûr nous aurons quelque chose".
[12:04] Andrew Hellershanks: ok
[12:04] Gavin.Hird @grid.xmir.org:8002 : le xml qui présente un champ dans l'interface utilisateur peut être empilé de plusieurs façons, et en fonction de ce qui précède quoi, il est envoyé dans différentes fonctions, donc oui.
[12:04] Ubit Umarov : et le fait d'ajouter une fonctionnalité ne signifie pas que nous le ferons :)
[12:04] Gavin.Hird @grid.xmir.org:8002: Je ne sais pas.
[12:05] Andrew Hellershanks : Ubit, bien sûr que non.
[12:05] Gavin.Hird @grid.xmir.org:8002 : PBR est une grosse demande
[12:05] JayR.Cela @grid.3rdrockgrid.com:8002: PBR ?
[12:05] Andrew Hellershanks : Gavin, Pabst Blue Ribbon ? ??
[12:05] Gavin.Hird @grid.xmir.org:8002 : rendu basé sur la physique.
[12:05] Kayaker Magic: LOL
[12:06] Gavin.Hird @grid.xmir.org:8002: https://en.wikipedia.org/wiki/Physically_based_rendering
[12:06] Andrew Hellershanks : Gavin, ok. C'est plus clair. Cependant, les programmeurs pourraient préférer d'autres versions de PBR.
[12:07] Gavin.Hird @grid.xmir.org:8002 : Je soupçonne également qu'ils (LL) pourraient lancer une version xbox du viewer.
[12:07] Michael.Christopher @cc.opensimulator.org:8002 : LL xbox viewer ?!?
[12:07] Ubit Umarov : le rendu de la base physique s'appelle "Bob Ross".
[12:07] Gavin.Hird @grid.xmir.org:8002 : ouais xbox
[12:07] Ubit Umarov : laso inclut "happy little trees" etc...
[12:07] Gavin.Hird @grid.xmir.org:8002 : ce qui nécessitera le PBR.
[12:08] Andrew Hellershanks: Ubit, :)
[12:08] Gavin.Hird @grid.xmir.org:8002 : mais nous verrons bien.
[12:08] Andrew Hellershanks fait un signe de tête

Ubit attend des retours sur la version 0.9.2.0

[12:05] Ubit Umarov : Nous n'avons vu aucun retour sur la version 0.9.2.0.
[12:06] Ubit Umarov : en fait, même pas de commentaires.
[12:06] Ubit Umarov : Je pensais que beaucoup de grilles étaient déjà sur cette version.
[12:07] Andrew Hellershanks : Ubit, je ne compterais pas là-dessus. Beaucoup de grilles n'ont même pas été mises à jour vers la version 0.9 ou ont été lentes à l'adopter. Je ne m'attendrais pas à une migration rapide vers la 0.9.2.
[12:07] Gavin.Hird @grid.xmir.org:8002: I also suspect they may launch an xbox version of the viewer
[12:07] Michael.Christopher @cc.opensimulator.org:8002: LL xbox viewer?!?

Conclusion et bon appétit

Stir frying(en) : technique de cuisson chinoise dans laquelle les ingrédients sont frits dans une petite quantité d'huile très chaude tout en étant remués ou mélangés dans un wok. Cette technique est originaire de Chine et s'est répandue au cours des derniers siècles dans d'autres régions d'Asie et en Occident. Elle est similaire au sauté dans la technique de cuisson occidentale. Kitely

[12:09] Andrew Hellershanks : Des dernières pensées, commentaires ou questions avant de conclure la réunion d'aujourd'hui ?
[12:09] JayR.Cela @grid.3rdrockgrid.com:8002 : C'est bon pour moi :)
[12:09] Ubit Umarov : Qu'est-ce qu'on mange ?
[12:09] Gavin.Hird @grid.xmir.org:8002 : C'était il y a 3 heures.
[12:09] Andrew Hellershanks: Stir Fry
[12:09] Michael.Christopher @cc.opensimulator.org:8002 : je suis aussi d'accord. lol
[12:09] Jamie.Jordan @grid.kitely.com:8002 : Oui, j'ai faim.
[12:10] Kayaker Magic : restes de canard rôti
[12:10] Ubit Umarov : Dann et tu ne m'as pas appelé Gavin ?
[12:10] Gavin.Hird @grid.xmir.org:8002: hehe
[12:10] Andrew Hellershanks : ok, je vous laisse partir à la recherche de nourriture si vous n'avez pas déjà mangé.
[12:10] Gavin.Hird @grid.xmir.org:8002 : J'ai des plateaux repas achetés sur Kitely.
[12:10] Andrew Hellershanks : C'est tout pour aujourd'hui. Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.