Java (Grails) or Erlang (Elixir) on short web requests: speed, scalability?

I know that even the Erlang or Java question seems rather strange, because they are quite different languages ​​with different paradigms. But, now I know both of them very superficially, so ask, what do you find more valuable for understanding, fast, scalable ? What comes to my mind:

  • Java is the main language. I'm not sure about Groovy and Grails, but if the project becomes bigger than your own hobby, it is much easier to find Java programmers to support this code. Elixir is a hobby of one good Erlang programmer, so it would be very difficult to maintain code in Elixir. In addition, Grails has already written a framework, so it is better to implement it yourself written in the Elixir environment.
  • The Erlang application (well written) is synonymous with scalability. But when it comes to running web applications, make small requests and die - no need to scale them more than simple Round-Robin user requests between them (Java processes on different computers)?
  • If we talk about many simple queries (without a long poll, etc.) - so many processes wake up and die every second - Erlang has a really easy process model, so. What about Java and the many new, spawned and killed killed every second?

Thanks in advance.

PS The diagram from this performance test questions the execution of the Java VM.

+6
source share
1 answer

Definitely Java. The performance metric you indicated shows that Java / Netty performance is the same as that of multi-core Erlang, you can use many Java actor and asynchronous I / O libraries, so each request does not start a new process or thread - just create a new handler in nanoseconds .

-2
source

Source: https://habr.com/ru/post/905432/


All Articles