4 ms·
> Lots of folks slam Rails for being slow and inefficient despite there being massive sites using it at scale (Shopify, GitHub, etc.) with very commendable resp
by zzzeek 5y ago
> Lots of folks slam Rails for being slow and inefficient despite there being massive sites using it at scale (Shopify, GitHub, etc.) with very commendable response times and uptime.
Github is moving away from activerecord for exactly these reasons:
https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/ https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-dr...
> Although GitHub.com is still a Rails monolith, over the past few years we’ve begun the process of extracting critical functionality from our main application, by rewriting some of the code in Go—mostly addressing the pieces that need to run faster and more reliably than what we can accomplish with Ruby.
full disclosure, I'm the author of SQLAlchemy for Python. But I certainly wouldn't expect Github to migrate from Ruby to Python for speed reasons, it would be like trading up your Ford Pinto for a Dodge Dart - not worth a rewrite :). Right now if you have middleware that is to be crushed with billions of reqs per hour, interpreted languages are simply not going to cut it.
- jrochkind1 5y agoThat's a good blog post, thanks for posting! I do not think "moving away from activerecord" is an accurate summary of what you yourself quoted, "extracting critical functionality from our main application… mostly addressing the pieces that need to run faster and more reliably than what we can accomplish with Ruby." Anyway, ruby and python are indeed pretty close performance-wise, for whatever reason python has become more popular (and it clearly has), it's not performance! Yet people always bring up performance when talking about why ruby isn't more popular... doesn't seem to be hurting python much.
- robertlagrant 5y agoI think it's because when they say Ruby they mean Rails, and the paradigm the Rails ORM uses is good for simple queries, but doesn't scale well. SQLAlchemy/Hibernate use a different paradigm, which scales a little better.
- no_wizard 5y agoexcept NodeJS, apparently, and this is far back as 2011, when LinkedIn switched to NodeJS from Rails https://venturebeat.com/2011/08/16/linkedin-node/ https://venturebeat.com/2011/08/16/linkedin-node/