One good reason I ditched ruby for python

by groleo

I had a small stuff to do test IPsec with lots of selectors. I thought I might be binding 50k ports and poll them for connections.
I though I’d go for Ruby since everyone praise it as intuitive. I’ve used it before at my testing work and I thought this might be a good
occasion to see how it evolved.

Soon I got in the limit of how many file descriptors select() can watch, that is 1024. That also crashed ruby1.8.7.
Further more, I wasn’t able to find official documentation about detecting EOF(end of file) while doing a recvfrom_nonblock().
You have to go around stackoverflow to find similar questions.

Then I though that python might do better. One search on google was enough to see that python implements epoll. Hooray..!!!

It seems to me that ruby is just some toy language, good for learning how to program OOP style, which should be dropped when doing
performance critical or reliable projects.

Advertisements