El esplendor y la pobreza de la OLP - página 2

 
Integer:
¿Por qué debo entender los mecanismos de compilación? ¿Sólo para creer que un mal resultado es mejor que uno bueno?

Escribir las pruebas correctamente y no engañar a la gente.

Ni siquiera entiendes lo que has escrito en tus pruebas y lo que realmente estás probando.


Esta es la consecuencia de la formación masiva en dotnet y lenguajes similares. Los programadores no tienen ningún deseo de entender lo que realmente funciona y cómo funciona.

 
Renat:

Escribir las pruebas correctamente y no engañar a la gente.

Ni siquiera entiendes lo que has escrito en tu prueba y lo que realmente estás probando.


Tales son las consecuencias de la formación masiva en dotnet y lenguajes similares. Los programadores no tienen ningún deseo de entender qué y cómo funcionan las cosas en la realidad.

Cada uno tiene sus propias anteojeras, como los caballos (para no ver demasiado).

Uno ve lo suyo, el otro ve lo suyo. Pero eso no significa que ambos estén bien o mal.

La verdad está cerca.

El promotor quería una cosa y consiguió otra. No significa que la tarea esté cumplida. Pero funciona. Tal vez no de la manera que se esperaba o quería.

El usuario hace su prueba (que es bastante predecible). Esto no significa que la prueba satisfaga a todas las partes.

La verdad está ahí fuera.

La velocidad de las operaciones importa demasiado. Esto no es un capricho mío, es la vida.

Y hay que demostrarlo con pruebas, no con palabras.

 
Vinin:

La velocidad de funcionamiento es muy importante. Esto no es un capricho mío, es la vida.

Y hay que demostrarlo con pruebas, no con palabras.

Inmediatamente señalé los errores de las pruebas propuestas. Entonces le expliqué el punto varias veces.

 

Los métodos virtuales siempre serán más caros que los métodos normales, pero las pruebas de optimización de los compiladores deben hacerse correctamente con una comprensión de qué/cómo se está colapsando y optimizando.

En este caso, todavía no hemos implementado un método de optimización para convertir automáticamente una función virtual en una regular (otros compiladores lo hacen cuando es posible), lo que cambiará inmediatamente los resultados de esta prueba y volverá a inducir a error (una llamada a un método virtual puede ser de repente más rápida que una regular).

 
Renat:

Los métodos virtuales siempre serán más caros que los métodos normales, pero las pruebas de optimización de los compiladores deben hacerse correctamente con una comprensión de qué/cómo se está minimizando y optimizando.

En este caso, todavía no hemos implementado un método de optimización para convertir automáticamente una función virtual en una regular (otros compiladores lo hacen cuando es posible), lo que cambiará inmediatamente los resultados de esta prueba y volverá a inducir a error (una llamada a un método virtual puede ser de repente más rápida que una regular).

Es decir, en este punto, Integer tiene razón. Y era imposible reconocerlo y explicarlo a la vez. ¿O algo lo impide?
 
Vinin:
Es decir, en esta etapa, Integer tiene razón. ¿No podrías admitirlo y explicarlo de inmediato? ¿O hay algo en el camino?
Vuelve a leer todo el tema con atención, por favor.
 
Renat:

Los métodos virtuales siempre serán más caros que los métodos convencionales, pero las pruebas de optimización de los compiladores deben hacerse correctamente con una comprensión de lo que se está minimizando y optimizando.

En este caso no hemos implementado el método de optimización de convertir automáticamente una función virtual en una función regular (otros compiladores lo hacen cuando es posible), lo que cambiará inmediatamente los resultados de esta prueba y volverá a inducir a error (una llamada de un método virtual podría ser de repente más rápida que una regular).

En realidad, no es el compilador lo que se está probando, sino dos métodos para resolver el mismo problema. No importa cómo zumbe la nevera oooh o wooh, lo importante es cómo se congela.

 
Integer:

En realidad, no era el compilador lo que se estaba probando, sino dos métodos para resolver el mismo problema. No importa cómo zumbe la nevera oooh o wooh, lo que importa es cómo se congela.

Has hecho una prueba incorrecta al presentar un caso de prueba simplificado y degenerado. No es un problema, es un ejemplo degenerado de nada.

No has prestado atención al optimizador del compilador que está optimizando mucho la opción de las llamadas directas a los muñecos.

 
Renat:

Has hecho una prueba incorrecta al presentar un caso de prueba simplificado y degenerado. Esto no es una tarea, sino exactamente un ejemplo degenerado a la nada.

No has prestado atención al optimizador del compilador que está optimizando mucho la opción de las llamadas directas a los muñecos.

A continuación se realizaron dos variantes más de pruebas - 2 con funciones no vacías y 3 con funciones únicas - y los resultados fueron similares. La variante 1 se siguió realizando en C#, pero el resultado fue el contrario.
 
Renat:
Vuelve a leer todo el tema con atención, por favor.
Se puede leer eternamente, pero hay que dar los hechos. Realiza una prueba y muestra los números. Tenemos que demostrar que Integer está equivocado. Él (y no sólo él) necesita ese resultado. Yo también puedo hablar mucho, pero intento no hacerlo sin hechos. Confío en los resultados de las pruebas de Integer. Pero no había ningún contrario, sólo palabras