D
D
DneprMen2016-04-12 17:58:01
Python
DneprMen, 2016-04-12 17:58:01

Is Ruby's sluggishness a real problem these days?

Greetings friends! I will describe the problem very briefly:
My colleague and I decided to write a game server on Ruby on Rails, we already started work as more experienced colleagues found out about it and did not approve, referring to some reasons:
1) RoR is slow, services slow down
2) Not intended for high- loaded projects
3) They don't write game servers on RoR because due to slowness, there will be high delays, etc. ...
- And they advised us: Python + Django or Node.js!
But I'm sort of used to RoR, but I don't know Python (node.js, especially) and don't know what to do and how to do it?
Is it true that now when there are SSDs around, a bunch of RAM and multi-core boilers, there is a performance problem? Or is it a long-standing myth about Ruby and is not relevant now? Or is it better to switch to Python!
Help colleagues...

Answer the question

In order to leave comments, you need to log in

7 answer(s)
R
Roman Mirilaczvili, 2016-04-14
@DneprMen

Let's say the game server logic can be implemented as micro-services on more lightweight frameworks than Rails : Sinatra , Hanami , etc. The easiest option is to use JSON as the input/output format.
Or, using MessagePack (there is a gem), you can exchange with various micro-services that can be implemented in other languages.
In the case of using MessagePack (or equivalents) and microservices, you can always later switch to solutions in other languages ​​if necessary due to performance bottlenecks.

O
OnYourLips, 2016-04-12
@OnYourLips

1) RoR is slow, services slow down
No, one order of magnitude in terms of performance with similar solutions (compare with PHP and Python frameworks).
2) Not designed for high-load projects
High load is an architecture problem, not a language problem.
3) They don’t write game servers on RoR because due to slowness, there will be high delays, etc.
All right.
However, I hope you meant Ruby (language) and not RoR (framework).
Look towards Java if you want to solve such problems.
- And they advised us: Python + Django
Django performance at the RoR level.
or Node.js!
It cannot be compared with RoR, these are solutions for different tasks.

K
Konstantin Kitmanov, 2016-04-12
@k12th

If you have something strictly real-time, then everything that is interpreted, especially without JIT, is discarded and bottlenecks are written in C / C ++ / Go. And you can write step by step on anything.

V
Vadim, 2016-04-12
@Enapiuz

What game will it be?
If you are making some simple browser without harsh data streams, position synchronization and other real-time, then you can certainly write at least on the head (if there is nowhere to put the time, of course).

P
Push Pull, 2016-04-12
@deadbyelpy

Always choose a language by decreasing priority:
a) technical requirements (and this happens, but it's better to convince)
b) the one that is most familiar (if you like it)
c) the one that you like
more probably if you are well versed in Ruby, then it will take you less time, and there will be fewer pitfalls.
No, Ruby isn't slow, it's just not as popular. And yes, if you want something new and smarter, look towards Erlang

E
Echoes93, 2016-04-14
@Echoes93

Pfft, I know a person who works on a project on RoR with an audience of > 100 million users (facebook game). So about the poor scalability and slowness of RoR'a - brazen persecution. Yes, Ruby has a reputation as a startup language, but this does not prevent you from doing high-load projects on it. It's just that the approaches are different.

I
index0h, 2017-03-18
@index0h

Game servers are different and performance requirements are also different.
If you have no experience in building similar projects, first make a prototype in a language that you know better. Having gained this experience, you will understand what to focus on in the final product, as a result - whether it is worth changing the language - too.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question