Actualmente estoy usando Java, he leído mucho acerca de Erlang en la red, y tengo 2 grandes preguntas:muchas CPU son necesarios antes de Erlang es más rápido que un solo hilo de Java
Cómo Mucho más lento (si hay alguno), ¿será Erlang más simple que Java?
Supongo que Java va a ser más rápido desde el shootout benchmarks en la red (a Erlang no le va tan bien). Entonces, ¿cuántas CPU más voy a necesitar para hacer que Erlang brille sobre un único subproceso Java (en mi situación particular, que figura a continuación)?Después de leer acerca de Erlang por un tiempo, he llegado a una serie de comentarios/publicaciones que dicen que la mayoría de los grandes sistemas Erlang contienen una buena cantidad de C/C++.
¿Esto es por razones de velocidad (mi suposición) o algo más? es decir, ¿por qué se requiere esto?
He leído sobre el número de procesadores en la mayoría de las máquinas que suben y roscar modelos siendo duro (estoy de acuerdo) pero estoy en busca de encontrar a cabo cuando la "línea" va a ser cruzado de modo que pueda cambiar el lenguaje/paradigma en el momento correcto.
Un poco de historia/contexto:
estoy trabajando en el servidor de servicios de Java que son muy limitados por CPU y fácilmente hecho paralelo. Esto se debe, por lo general, a una única actualización entrante (a través de TCP) que activa un cambio a múltiples (100s de) salidas.
Los cálculos suelen ser bastante simples (pocos bucles, solo mucha aritmética) y las entradas están llegando bastante rápido (100/s).
Actualmente corremos en 4 máquinas CPU y ejecutamos múltiples servicios en cada una de ellas (por lo que el multi-threading es bastante inútil y parece que Java funciona más rápido sin los bloques de sincronización necesarios para hacerlo de subprocesos múltiples). Ahora hay un fuerte impulso para la velocidad y ahora tenemos acceso a 24 procesadores (por proceso si es necesario), así que me pregunto cuál es la mejor manera de proceder: Java de múltiples hilos o algo más fácil de codificar, como Erlang.
He leído su pregunta completa y he editado mi respuesta para proporcionar una discusión para que vea cuál es el quid de la decisión. –