5 ms·
I talked to a CTO once that said he brought his RoR fleet down from 60 servers to 6-8 by switching to Scala.
by joslin01 10y ago
I talked to a CTO once that said he brought his RoR fleet down from 60 servers to 6-8 by switching to Scala.
- matthewmacleod 10y agoWhen he said "switching to Scala" I reckon he probably meant "rewriting our platform." It's very difficult to do a comparison like this in practice, because switching languages inherently involves a rewrite of a platform.
- collyw 10y agoI am curious how much a rewrite staying in Ruby could have saved. Its always easier to write code when you have a good specification, and a working application would fulfill that role well.
- FooBarWidget 10y agoI was once involved in a large-scale government project that rewrote a Java app to RoR. They went from 50 servers to 10. It has probably got more to do with the rewrite and the new architecture than whatever language it was written in.
- wstrange 10y agoOr the fact that new servers are an order of magnitude faster than the ones they replaced.
- Drdrdrq 10y agoOrder of magnitude faster? I doubt that. Unless the old ones were really old / slow to begin with. But really, we are both speculating without knowing the facts.
- joslin01 10y agoWhat? It absolutely has to do with the language. Ruby binary trees: 57 seconds Scala binary trees: 11 seconds [1] - http://benchmarksgame.alioth.debian.org/u64q/ruby.html http://benchmarksgame.alioth.debian.org/u64q/ruby.html [2] - http://benchmarksgame.alioth.debian.org/u64q/scala.html http://benchmarksgame.alioth.debian.org/u64q/scala.html
- FooBarWidget 10y agoThat would mean something if Ruby apps are 100% Ruby and/or are performing binary tree operations all the time, or doing similar kinds of CPU-intensive operations as depicted in the alioth benchmarks. But they don't. Ruby web apps perform lots of string manipulation, memory allocation, I/O. A lot of expensive things are offloaded to C libraries. Things like XML parsing are offloaded to native libraries like libxml; nobody uses an XML parser fully implemented in Ruby. Ruby does not reimplemented gzip compression in Ruby, it uses zlib. So the alioth benchmarks are not representative of real-world performance.
- deleted 10y ago[deleted]
- igouy 10y ago>> Ruby web apps perform lots of string manipulation, memory allocation, I/O. << string manipulation http://benchmarksgame.alioth.debian.org/u64q/program.php?test=revcomp&lang=yarv&id=2 http://benchmarksgame.alioth.debian.org/u64q/program.php?tes... memory allocation http://benchmarksgame.alioth.debian.org/u64q/program.php?test=binarytrees&lang=yarv&id=1 http://benchmarksgame.alioth.debian.org/u64q/program.php?tes... I/O fasta, fasta-redux, reverse-complement write 250MB regex-dna reads 50MB; k-nucleotide, reverse-complement read 250MB >> …offloaded to native libraries… So the alioth benchmarks are not representative of real-world performance. << The benchmarks game does show C programs ;-) The benchmarks game does show scripting-languages explicitly using native libraries: http://benchmarksgame.alioth.debian.org/u64q/program.php?test=pidigits&lang=php&id=5 http://benchmarksgame.alioth.debian.org/u64q/program.php?tes...