nuevo en Erlang. Estoy a punto de comenzar a escribir un código. La solución que tengo en mente puede ser de dos maneras. Puedo hacer un montón de cálculos matemáticos, o puedo codificar esto en gran medida como coincidencia de patrones. Cuando digo "coincidencia de patrones", NO me refiero a expresiones regulares ni a nada de eso, me refiero a la coincidencia de patrones en los encabezados de las cláusulas.rendimiento de coincidencia de patrones Erlang
El rendimiento no suele ser una preocupación, sin embargo, en esta aplicación sí lo es. No te estoy preguntando qué método sería más rápido; estoy seguro de que dirías que no lo sabes (depende de muchos factores). Lo que estoy preguntando es el rendimiento general de la coincidencia de patrones de Erlang en los encabezados de las cláusulas. En otras palabras, en Prolog, el motor está optimizado para hacer este tipo de cosas, para que todo lo demás sea igual, se le "alienta" a diseñar una solución que aproveche la coincidencia de patrones y la unificación en los encabezados de las cláusulas.
¿Es lo mismo cierto de Erlang, es decir, es Erlang optimizado para la coincidencia de patrones en los encabezados de las cláusulas, similar a Prolog? En lugar de hacer la pregunta aquí, en realidad traté de hacer un perfil de esto en Erlang, y escribí un programa de juguete para hacer un patrón de coincidencia de cabezas de cláusulas un par de millones de veces versus resumir una lista un par de millones de veces. Pero el sistema se bloqueará si se configura para "un par de millones de veces". Pero establecido en menos de un par de millones, los resultados volverían demasiado rápido para saber algo sobre el rendimiento.
Gracias por cualquier idea.
Publique el Codz. Vuelva a formular como una pregunta acerca de por qué esto se bloquearía. – EvilTeach
El código era 2 programas muy simples. El primer programa era 10 cláusula jefes de la secuencia cláusula (0) -> 0; cláusula (1) -> 0; (hasta 10) Para probar utilicé el duplicado para crear una lista de 2 millones 0, y utilicé el mapa para mapear la cláusula en él. El segundo programa consistía simplemente en duplicar para crear 2 millones de listas de 7 enteros, y luego usar el mapa para mapear la suma. Una vez más, estaba tratando de probar el rendimiento relativo de la coincidencia de patrones utilizada como técnica de programación. Mi pregunta es si se anima a los programadores de Erlang a utilizar la coincidencia de patrones (cuando sea posible) como lo son los programadores de Prolog. – Ultranewb
Golpeado con un ejemplo –