D’après la discussion, ça semble dû à la prise en charge du Context dans le cas où une erreur se produit dans la connexion HTTP et le problème n’est probablement pas grave dans un cas d’utilisation réel (hors benchmark).
Sauf que c'est dur de se représenter ce que ça veut dire.
Dès délais de 0.5µs, il y en a 2'000'000 par seconde.
Ce temps supplémentaire rajouté à un "hello world" signifie que rien que par ce délai, il est impossible d'en avoir 2'000'000 par seconde, ce sans compter le temps d'exécution dudit "hello world".
Cela dit, comme tu ne donnes pas cette dernière métrique, ni le contexte dans lequel il n'y a que 0.5µs de délai supplémentaire, on ne peut rien en dire de la proportion de temps que ce délai rajoute à l’exécution d'un programme aussi simple qu'un "hello world".
0. Assume good faith 1. Be kind to other people 2. Express yourself 4. Apply rule 0
Ce que je comprend de sa remarque c'est qu'une perte de performances minime à l'échelle microscopique peut avoir des conséquence désastreuses à l'échelle macroscopique.
Si par exemple un compilateur C se met à insérer un nop entre chaque instruction dans le binaire qu'il produit, la différence de performance sera à peine mesurable sur un hello world, mais sur une application normale, ça sera significatif.
En l'occurrence, de ce que j'ai compris, ce serait plutôt un petit overhead une fois par requête. Ce qui veut dire qu'en pratique, si ton serveur fait des requêtes qui prennent plus de temps que renvoyer un Hello World, la régression est négligeable. En vrai, dans le fil personne ne donne des tests sur des cas plus réalistes, donc c'est difficile d'évaluer vraiment l'impact. Ceci dit, étant donné que les rc de go sont utilisées par google en production pendant plus d'un mois avant, on peut imaginer qu'ils auraient remarqué depuis si la régression impactait en pratique les vrais serveurs, et pas seulement les serveurs de test qui font des Hello World.
C'est ce que j'ai compris aussi.
Par contre je ne vois pas ce qu'un test réel pourrait montrer, dès que le handler va faire autre chose qu'un hello world c'est ça qui va être mesuré.
Un simple template "hello {{.}}" a un impact beaucoup plus significatif.
J'ai pris quelques notes mais je retiens juste que la v1.9 mettra en place des horloges monotoniques,
ce qui permettra à gocoincoin de déployer des "killer features".
Apparemment, c'est quand le temps indiqué par l'horloge ne va que dans un sens. Quand tu fais deux appels à la fonction qui donne le temps, le deuxième appel n'indique pas une valeur antérieur au premier.
L'heure "courante" que l'on utilise tous les jours ne l'est pas à cause des changements d'heure ou de fuseau. Par exemple tu ne peux pas connaitre le temps de vol d'un avion de ligne en comparant les heures de décollage et d'atterrissage indiquée sur le billet.
La plupart des horloges d'ordinateur sont en GMT/UTC de nos jours, mais ça ne garanti pas qu'elles sont monotoniques : Il y a le cas des leap secondes, mais surtout le fait qu'un admin peut changer l'heure de la machine (même si c'est souvent bien fait par NTP, ça peut arriver).
NTP ne garantie pas la monotonie. Si tu passe l'heure à trop longtemps dans le passé, il ne devrait pas corriger ça en ralentissant le temps. Son objectif reste de converger vers une heure correct dans un temps limité.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
C’est un exemple d’un phénomène fréquent : un anglicisme est adopté parce qu’il est plus simple et plus court que le mot français correspondant. Ici, l’anglicisme monotonique est clairement plus simple et plus court que le mot français normal et correct monotone ؟
Avec tous les mots, c’est mieux. La définition que tu cites est issue du dictionnaire Cordial, dont j’entends parler pour la première fois, et qui est le seul que je trouve à la donner, les autres définissant monotonique comme « qui n’a qu’un seul ton ». Détaillons un peu :
monotone adj inv
1 qui est toujours sur le même ton, monocorde
2 sans variété, ennuyeux
3 (mathématiques) qui varie dans le même sens, dans un intervalle donné
monotonique adj inv (linguistique) relatif à un mouvement suivant une seule tendance (croissance, décroissance) sans variations ou alternance
Reste à savoir si le cas présent se situe dans le domaine des mathématiques ou dans celui de la linguistique. Le débat est lancé sur cette question épineuse, de nouvelles études approfondies seront sans doute nécessaires.
# Régression
Posté par JoeltheLion (site web personnel) . Évalué à 2.
Attention toutefois il y a l'air d'avoir une régression de performances HTTP assez sérieuse :
https://github.com/golang/go/issues/18964
[^] # Re: Régression
Posté par ɹǝıʌıʃO . Évalué à 6.
D’après la discussion, ça semble dû à la prise en charge du Context dans le cas où une erreur se produit dans la connexion HTTP et le problème n’est probablement pas grave dans un cas d’utilisation réel (hors benchmark).
[^] # Re: Régression
Posté par wilk . Évalué à 4.
0.5μs sur un hello world, je suis pas sûr que "régression assez sérieuse" soit vraiment le terme adapté…
[^] # Re: Régression
Posté par esdeem . Évalué à 7.
Sauf que c'est dur de se représenter ce que ça veut dire.
Dès délais de 0.5µs, il y en a 2'000'000 par seconde.
Ce temps supplémentaire rajouté à un "hello world" signifie que rien que par ce délai, il est impossible d'en avoir 2'000'000 par seconde, ce sans compter le temps d'exécution dudit "hello world".
Cela dit, comme tu ne donnes pas cette dernière métrique, ni le contexte dans lequel il n'y a que 0.5µs de délai supplémentaire, on ne peut rien en dire de la proportion de temps que ce délai rajoute à l’exécution d'un programme aussi simple qu'un "hello world".
0. Assume good faith 1. Be kind to other people 2. Express yourself 4. Apply rule 0
[^] # Re: Régression
Posté par wilk . Évalué à -1.
Je ne suis pas sûr de comprendre ta question…
[^] # Re: Régression
Posté par foobarbazz . Évalué à 2.
Je n'ai pas trouvé de question ^
Ce que je comprend de sa remarque c'est qu'une perte de performances minime à l'échelle microscopique peut avoir des conséquence désastreuses à l'échelle macroscopique.
Si par exemple un compilateur C se met à insérer un
nop
entre chaque instruction dans le binaire qu'il produit, la différence de performance sera à peine mesurable sur un hello world, mais sur une application normale, ça sera significatif.[^] # Re: Régression
Posté par anaseto . Évalué à 3.
En l'occurrence, de ce que j'ai compris, ce serait plutôt un petit overhead une fois par requête. Ce qui veut dire qu'en pratique, si ton serveur fait des requêtes qui prennent plus de temps que renvoyer un Hello World, la régression est négligeable. En vrai, dans le fil personne ne donne des tests sur des cas plus réalistes, donc c'est difficile d'évaluer vraiment l'impact. Ceci dit, étant donné que les rc de go sont utilisées par google en production pendant plus d'un mois avant, on peut imaginer qu'ils auraient remarqué depuis si la régression impactait en pratique les vrais serveurs, et pas seulement les serveurs de test qui font des Hello World.
[^] # Re: Régression
Posté par wilk . Évalué à 2.
C'est ce que j'ai compris aussi.
Par contre je ne vois pas ce qu'un test réel pourrait montrer, dès que le handler va faire autre chose qu'un hello world c'est ça qui va être mesuré.
Un simple template "hello {{.}}" a un impact beaucoup plus significatif.
# Greffons
Posté par ɹǝıʌıʃO . Évalué à 3.
Les plugins sont une vraie nouveauté quand même. La peinture n’est pas sèche, mais c’est prometteur.
# Meetup "Go release party" chez Deezer
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 5.
C'était là et c'était très sympa.
J'ai pris quelques notes mais je retiens juste que la v1.9 mettra en place des horloges monotoniques,
ce qui permettra à gocoincoin de déployer des "killer features".
[^] # Re: Meetup "Go release party" chez Deezer
Posté par ɹǝıʌıʃO . Évalué à 2.
Gocoincoin sera sans doute tonique, mais il devra se contenter d’horloges monotones. En revanche, il sera encore plus rapide et réactif grâce aux progrès du ramasse-miettes et plus doué pour la manipulation de bits.
[^] # Re: Meetup "Go release party" chez Deezer
Posté par steph1978 . Évalué à 4.
C'est quoi une horloge monotonique ?
[^] # Re: Meetup "Go release party" chez Deezer
Posté par Wawet76 . Évalué à 6.
Apparemment, c'est quand le temps indiqué par l'horloge ne va que dans un sens. Quand tu fais deux appels à la fonction qui donne le temps, le deuxième appel n'indique pas une valeur antérieur au premier.
L'heure "courante" que l'on utilise tous les jours ne l'est pas à cause des changements d'heure ou de fuseau. Par exemple tu ne peux pas connaitre le temps de vol d'un avion de ligne en comparant les heures de décollage et d'atterrissage indiquée sur le billet.
La plupart des horloges d'ordinateur sont en GMT/UTC de nos jours, mais ça ne garanti pas qu'elles sont monotoniques : Il y a le cas des leap secondes, mais surtout le fait qu'un admin peut changer l'heure de la machine (même si c'est souvent bien fait par NTP, ça peut arriver).
[^] # Re: Meetup "Go release party" chez Deezer
Posté par barmic . Évalué à 6.
NTP ne garantie pas la monotonie. Si tu passe l'heure à trop longtemps dans le passé, il ne devrait pas corriger ça en ralentissant le temps. Son objectif reste de converger vers une heure correct dans un temps limité.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Meetup "Go release party" chez Deezer
Posté par woffer 🐧 . Évalué à 2.
Voici le genre de problème que cette évolution doit corriger :
https://blog.cloudflare.com/how-and-why-the-leap-second-affected-cloudflare-dns/
[^] # Re: Meetup "Go release party" chez Deezer
Posté par ɹǝıʌıʃO . Évalué à 4.
C’est un exemple d’un phénomène fréquent : un anglicisme est adopté parce qu’il est plus simple et plus court que le mot français correspondant. Ici, l’anglicisme monotonique est clairement plus simple et plus court que le mot français normal et correct monotone ؟
[^] # Re: Meetup "Go release party" chez Deezer
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 2.
monotonique : relatif à un mouvement suivant une seule tendance (croissance, décroissance) sans variations ou alternances.
[^] # Re: Meetup "Go release party" chez Deezer
Posté par ɹǝıʌıʃO . Évalué à 2.
Avec tous les mots, c’est mieux. La définition que tu cites est issue du dictionnaire Cordial, dont j’entends parler pour la première fois, et qui est le seul que je trouve à la donner, les autres définissant monotonique comme « qui n’a qu’un seul ton ». Détaillons un peu :
Reste à savoir si le cas présent se situe dans le domaine des mathématiques ou dans celui de la linguistique. Le débat est lancé sur cette question épineuse, de nouvelles études approfondies seront sans doute nécessaires.
[^] # Re: Meetup "Go release party" chez Deezer
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 2.
Va pour l'anglicisme … on peut revenir au fond du sujet ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.