Pracht und Armut der PLO - Seite 2

 
Integer:
Warum sollte ich die Kompilierungsmechanismen verstehen? Nur um zu glauben, dass ein schlechtes Ergebnis besser ist als ein gutes?

Tests richtig zu schreiben und die Leute nicht in die Irre zu führen.

Sie verstehen nicht einmal, was Sie in Ihren Tests geschrieben haben und was Sie tatsächlich testen.


Dies ist die Folge der Massenausbildung in Dotnet und ähnlichen Sprachen. Programmierer haben absolut keine Lust zu verstehen, was wirklich funktioniert und wie es funktioniert.

 
Renat:

Tests richtig zu schreiben und die Leute nicht in die Irre zu führen.

Sie verstehen nicht einmal, was Sie in Ihrem Test geschrieben haben und was Sie tatsächlich testen.


Das sind die Folgen der Massenausbildung in Dotnet und ähnlichen Sprachen. Programmierer haben absolut keine Lust zu verstehen, was und wie die Dinge in der Realität funktionieren.

Jeder hat seine eigenen Scheuklappen über den Augen, wie Pferde (damit sie nicht zu viel sehen).

Der eine sieht das Eigene, der andere das Eigene. Das heißt aber nicht, dass beide richtig oder falsch sind.

Die Wahrheit liegt irgendwo in der Nähe.

Der Entwickler wollte das eine und bekam das andere. Das bedeutet nicht, dass die Aufgabe erfüllt ist. Aber es funktioniert. Vielleicht nicht so, wie es erwartet oder gewünscht wurde.

Der Benutzer macht seinen Test (der ziemlich vorhersehbar ist). Das bedeutet nicht, dass der Test alle Parteien zufrieden stellen wird.

Die Wahrheit liegt auf der Hand.

Die Geschwindigkeit der Operationen ist zu wichtig. Das ist nicht meine Laune, das ist das Leben.

Und Sie müssen es mit Tests beweisen, nicht mit Worten.

 
Vinin:

Die Geschwindigkeit des Betriebs ist zu wichtig. Das ist nicht meine Laune, das ist das Leben.

Und Sie müssen es mit Tests beweisen, nicht mit Worten.

Ich habe sofort auf die Fehler in den vorgeschlagenen Tests hingewiesen. Dann habe ich den Punkt mehrmals erklärt.

 

Virtuelle Methoden werden immer teurer sein als normale Methoden, aber das Testen von optimierenden Compilern sollte korrekt durchgeführt werden, wenn man weiß, was/wie minimiert und optimiert wird.

In diesem Fall haben wir noch keine Optimierungsmethode implementiert, um eine virtuelle Funktion automatisch in eine reguläre umzuwandeln (andere Compiler tun dies, wenn es möglich ist), was die Ergebnisse dieses Tests sofort ändern und erneut in die Irre führen würde (ein virtueller Methodenaufruf könnte plötzlich schneller sein als ein regulärer).

 
Renat:

Virtuelle Methoden werden immer teurer sein als normale Methoden, aber das Testen von optimierenden Compilern sollte korrekt durchgeführt werden, wenn man weiß, was/wie kollabiert und optimiert wird.

In diesem Fall haben wir noch keine Optimierungsmethode implementiert, um eine virtuelle Funktion automatisch in eine reguläre umzuwandeln (andere Compiler tun dies, wenn es möglich ist), was die Ergebnisse dieses Tests sofort ändern und erneut in die Irre führen würde (ein virtueller Methodenaufruf könnte plötzlich schneller sein als ein regulärer).

Das heißt, an dieser Stelle hat Integer recht. Und es war unmöglich, das gleichzeitig zuzugeben und zu erklären. Oder etwas verhindert dies?
 
Vinin:
Das heißt, in diesem Stadium hat Integer Recht. Könntest du das nicht einfach zugeben und sofort erklären? Oder ist da etwas im Weg?
Lesen Sie bitte das gesamte Thema noch einmal sorgfältig durch.
 
Renat:

Virtuelle Methoden werden immer teurer sein als konventionelle Methoden, aber das Testen von optimierenden Compilern sollte korrekt durchgeführt werden, wenn man weiß, was/wie minimiert und optimiert wird.

In diesem Fall haben wir die Optimierungsmethode, eine virtuelle Funktion automatisch in eine reguläre Funktion umzuwandeln, noch nicht implementiert (andere Compiler tun dies, wenn es möglich ist), was die Ergebnisse dieses Tests sofort ändern und erneut in die Irre führen würde (ein Aufruf einer virtuellen Methode könnte plötzlich schneller sein als eine reguläre).

Eigentlich wird nicht der Compiler getestet, sondern zwei Methoden zur Lösung desselben Problems. Es ist nicht wichtig, wie der Kühlschrank brummt, sondern wie er einfriert.

 
Integer:

Eigentlich war es nicht der Compiler, der getestet wurde, sondern zwei Methoden zur Lösung desselben Problems. Es ist egal, wie der Kühlschrank brummt, wichtig ist, wie er gefriert.

Sie haben einen falschen Test durchgeführt, indem Sie einen vereinfachten und entarteten Testfall vorgelegt haben. Das ist kein Problem, sondern ein zu nichts degeneriertes Beispiel.

Sie haben nicht auf den Optimierer des Compilers geachtet, der die Option der direkten Aufrufe an Dummies stark optimiert.

 
Renat:

Sie haben einen falschen Test durchgeführt, indem Sie einen vereinfachten und entarteten Testfall vorgelegt haben. Dies ist keine Aufgabe, sondern gerade ein zu nichts verkommenes Beispiel.

Sie haben nicht auf den Optimierer des Compilers geachtet, der die Option der direkten Aufrufe an Dummies stark optimiert.

Danach gab es zwei weitere Testvarianten - 2 mit nicht leeren Funktionen und 3 mit eindeutigen Funktionen - und die Ergebnisse waren ähnlich. Variante 1 wurde immer noch in C# durchgeführt, aber das Ergebnis war das Gegenteil.
 
Renat:
Lesen Sie bitte das gesamte Thema noch einmal sorgfältig durch.
Man kann ewig lesen, aber man muss die Fakten nennen. Führen Sie einen Test durch und zeigen Sie die Zahlen. Wir müssen beweisen, dass Integer falsch liegt. Er (und nicht nur er) braucht ein solches Ergebnis. Auch ich kann viel reden, aber ich versuche, es nicht ohne Fakten zu tun. Ich vertraue den Testergebnissen von Integer. Aber es gab kein Gegenteil, nur Worte
Grund der Beschwerde: