Chicago Boss parece un marco ordenado y una buena excusa para aprender Erlang.¿alguien por ahí usando Chicago Boss?
¿Alguno de ustedes lo usó? ¿Realmente puedo obtener excelente rendimiento que lo aloja en una sola máquina?
Chicago Boss parece un marco ordenado y una buena excusa para aprender Erlang.¿alguien por ahí usando Chicago Boss?
¿Alguno de ustedes lo usó? ¿Realmente puedo obtener excelente rendimiento que lo aloja en una sola máquina?
No puedo hablar específicamente del rendimiento de Chicago Boss, pero los servidores web de Erlang son generalmente muy rápidos.
También son muy buenos para conexiones simultáneas múltiples, debido a las primitivas de simultaneidad de Erlang. Sé que Chicago Boss no usa Yaws, pero aquí hay un gráfico Apache vs. Yaws, solo para referencia.
De acuerdo, C es más rápido en muchos casos, pero a cualquier velocidad que ganes de C en el proceso, perderás cuando tengas varios usuarios. Piense en ello como esto:
Generalmente Erlang es aproximadamente 4-5 veces más lento que hacer lo mismo en C, pero lo que pierde en velocidad, gana en eficiencia, simplicidad y estabilidad. Haciendo las cosas en las que Erlang sobresale, creo que se encuentra alrededor de 2-3 veces de C. También se puede compilar en binarios nativos para acelerarlo un 20% más.
Simplemente sepa que hay muchas cosas en común en las que Erlang no es bueno, como la manipulación de cuerdas y el crujido de números. Erlang se hizo para la distribución (en la mayoría de los sentidos de la palabra), así que eso es lo que es increíble.
Ah, y sobre el gran rendimiento en una sola máquina: no más de la mitad de lo que una aplicación C haría. Pero, de nuevo, todavía es probablemente 30-40 veces más rápido que el equivalente en ruby, php o python.
Entonces, ¿en qué es bueno Erlang? Además, ¿no se ocupa Erlang de muchas cosas con las que tiene que lidiar manualmente en C (como recolección de basura)? – user94154
Sí, eso es lo que quiero decir con eficiencia, simplicidad y estabilidad. Básicamente lo que toma 10 líneas de código en Erlang toma 100 en C. Y el manejo de errores en Erlang es completamente simple, así como también genera nuevos procesos. Esas cosas toman mucho tiempo de desarrollo en C. Y Erlang tiene un 99.9999999% de tiempo de actividad en aplicaciones de la vida real, simplemente porque está diseñado para fallar sin fallar, porque tuvo que ser utilizado en telecomunicaciones y cosas por el estilo. Y puede actualizar su aplicación mientras se está ejecutando, lo cual es muy raro. –
Oh, y sobre la recolección de basura ... no existe tal cosa, per se. Erlang no tiene estado, es un lenguaje funcional. Las variables solo se pueden configurar una vez, por lo que no se puede producir un desbordamiento de la memoria (a menos que tenga un ataque grave o lo haga a propósito). –
En realidad me encontré con el creador de Chicago Jefe de aquí el otro día. Sorprendido de que no haya comentado todavía. – samoz
Es extraño cómo dos años más tarde esto es repentinamente "fuera del tema". Las respuestas aquí son bastante útiles, incluso si la pregunta no está enmarcada correctamente. ¿Puedo editar para eliminar la bandera? – user94154