La splendeur et la pauvreté de l'OLP - page 2

 
Integer:
Pourquoi devrais-je comprendre les mécanismes de compilation ? Juste pour croire qu'un mauvais résultat est meilleur qu'un bon ?

Écrire les tests correctement et ne pas induire les gens en erreur.

Vous ne comprenez même pas ce que vous avez écrit dans vos tests et ce que vous testez réellement.


C'est la conséquence de la formation de masse à dotnet et aux langages similaires. Les programmeurs n'ont absolument aucune envie de comprendre ce qui fonctionne réellement et comment cela fonctionne.

 
Renat:

Écrire les tests correctement et ne pas induire les gens en erreur.

Vous ne comprenez même pas ce que vous avez écrit dans votre test et ce que vous testez réellement.


Telles sont les conséquences de la formation de masse à dotnet et aux langages similaires. Les programmeurs n'ont absolument aucune envie de comprendre ce que et comment les choses fonctionnent dans la réalité.

Chacun a ses propres œillères sur les yeux, comme les chevaux (pour ne pas trop voir).

L'un voit les siens, l'autre les siens. Mais cela ne signifie pas que les deux ont raison ou tort.

La vérité est quelque part proche.

Le promoteur voulait une chose et en a obtenu une autre. Cela ne signifie pas que la tâche est accomplie. Mais ça marche. Peut-être pas de la manière attendue ou souhaitée.

L'utilisateur effectue son test (qui est assez prévisible). Cela ne signifie pas que le test satisfera toutes les parties.

La vérité est là.

La vitesse des opérations est trop importante. Ce n'est pas mon caprice, c'est la vie.

Et vous devez le prouver par des tests, pas par des mots.

 
Vinin:

La vitesse d'exécution a trop d'importance. Ce n'est pas mon caprice, c'est la vie.

Et vous devez le prouver par des tests, pas par des mots.

J'ai immédiatement signalé les erreurs dans les tests proposés. Puis j'ai expliqué le point plusieurs fois.

 

Les méthodes virtuelles seront toujours plus coûteuses que les méthodes normales, mais les tests d'optimisation des compilateurs doivent être effectués correctement en comprenant ce qui est minimisé et optimisé et comment.

Dans ce cas, nous n'avons pas encore mis en œuvre une méthode d'optimisation permettant de convertir automatiquement une fonction virtuelle en fonction régulière (d'autres compilateurs le font lorsque cela est possible), ce qui modifierait immédiatement les résultats de ce test et induirait à nouveau en erreur (un appel de méthode virtuelle pourrait soudainement être plus rapide qu'un appel de méthode régulière).

 
Renat:

Les méthodes virtuelles seront toujours plus coûteuses que les méthodes normales, mais les tests d'optimisation des compilateurs doivent être effectués correctement en comprenant ce qui est réduit et optimisé et comment.

Dans ce cas, nous n'avons pas encore mis en œuvre une méthode d'optimisation permettant de convertir automatiquement une fonction virtuelle en fonction régulière (d'autres compilateurs le font lorsque cela est possible), ce qui modifierait immédiatement les résultats de ce test et induirait à nouveau en erreur (un appel de méthode virtuelle pourrait soudainement être plus rapide qu'un appel de méthode régulière).

C'est - à ce stade, Integer a raison. Et c'était impossible à reconnaître et à expliquer en même temps. Ou quelque chose l'empêche ?
 
Vinin:
C'est-à-dire qu'à ce stade, Integer a raison. Tu ne pouvais pas juste admettre et expliquer tout de suite. Ou bien il y a quelque chose dans le chemin ?
Relisez attentivement l'ensemble du sujet, s'il vous plaît.
 
Renat:

Les méthodes virtuelles seront toujours plus coûteuses que les méthodes conventionnelles, mais les tests d'optimisation des compilateurs doivent être effectués correctement en comprenant ce qui est minimisé et optimisé et comment.

Dans ce cas, nous n'avons pas mis en œuvre la méthode d'optimisation consistant à convertir automatiquement une fonction virtuelle en fonction régulière (d'autres compilateurs le font lorsque cela est possible), ce qui modifierait immédiatement les résultats de ce test et induirait à nouveau en erreur (un appel d'une méthode virtuelle pourrait soudainement être plus rapide qu'un appel d'une méthode régulière).

En fait, ce n'est pas le compilateur qui est testé, mais deux méthodes pour résoudre le même problème. Peu importe la façon dont le réfrigérateur ronronne oooh ou wooh, c'est la façon dont il gèle qui compte.

 
Integer:

En fait, ce n'est pas le compilateur qui était testé, mais deux méthodes pour résoudre le même problème. Peu importe la façon dont le réfrigérateur ronronne oooh ou wooh, ce qui compte c'est la façon dont il gèle.

Vous avez fait un test incorrect en présentant un cas de test simplifié et dégénéré. Ce n'est pas un problème, c'est un exemple dégénéré à rien.

Vous n'avez pas prêté attention à l'optimiseur du compilateur qui optimise fortement l'option des appels directs aux mannequins.

 
Renat:

Vous avez effectué un test incorrect en présentant un cas de test simplifié et dégénéré. Il ne s'agit pas d'une tâche, mais exactement d'un exemple dégénéré en rien.

Vous n'avez pas prêté attention à l'optimiseur du compilateur qui optimise fortement l'option des appels directs aux mannequins.

Il y a eu deux autres variantes de tests après cela - 2 avec des fonctions non vides et 3 avec des fonctions uniques - et les résultats étaient similaires. La variante 1 a toujours été réalisée en C#, mais le résultat a été inverse.
 
Renat:
Relisez attentivement l'ensemble du sujet, s'il vous plaît.
Vous pouvez lire à l'infini, mais vous devez donner les faits. Effectuez un test et montrez les chiffres. Nous devons prouver qu'Integer a tort. Il (et pas seulement lui) a besoin d'un tel résultat. Moi aussi, je peux parler beaucoup, mais j'essaie de ne pas le faire sans faits. Je fais confiance aux résultats des tests d'Integer. Mais il n'y avait pas de contraire, seulement des mots
Raison: