Threads for chs

  1. 8

    What sort of new problems doesn’t increasing Ruby’s performance 3x open up for Ruby? As a non-Rubyist, Ruby is so slow a 3x improvement is still too slow, to me.

    1. 16

      That’s fair, but Ruby’s performance is on par with Python’s (or better in at least some benchmarks, actually), which is plenty good enough for many, many people. So for those using Ruby, that’d still be an incredibly welcome improvement.

      That said, I’m curious when you last tried Ruby. It’s definitely still an order of magnitude slower than most compiled languages, no question, but the new GC that landed around 2.2, and the bytecode based VM that landed around 1.9 or so, have made a huge, very noticable difference in places I’ve used Ruby. It’s been enough that I’ve kept reaching for it over e.g. Go in quite a few instances.

      1. 3

        Ok, but that’s not really answering my question. Is this performance push just to get some benchmark numbers higher or is it opening new opportunities for Ruby? Certainly people aren’t going to be replacing their big data jobs with Ruby with a meager 3x improvement. People aren’t going to be writing video games in pure Ruby or doing high frequency trading.

        1. 9

          Is this performance push just to get some benchmark numbers higher or is it opening new opportunities for Ruby?

          Performance concerns aren’t even at the top of my list of “why I wouldn’t write new software in Ruby”; I’m more concerned with long-term maintainability due to the dynamicity making static analysis more or less a lost cause.

          In the interview he talks a bit about the possibility of gathering type data from running code, but without breaking existing code I’m having a hard time imagining a solution that would be reliable.

          1. 5

            I’m also skeptical. Ruby users, for a while, seemed to revel in meta-programming and run-time code generation, which greatly hinders static analysis.

          2. 6

            Well, I think that a 3x improvement would at least help push the bar for “Ruby is too slow for me, I’ll rewrite it in X-compile-language” further away.

            1. 5

              That’s what I was trying to convey also. Ruby’s strength is that it’s a very expressive language, but its speed at one point made it an effective no-go for classes of work. (Hell, I remember writing a site in Django instead of Rails for performance reasons.) The speed improvements so far have really just kept it relevant, to be honest, by getting it back to and somewhat exceeding Python; a further 3x would mean I could start looking at it over things like C# for what I might call mildly performance demanding stuff (e.g. maybe daemons with nontrivial but not excessive workloads).

        2. 8

          The upcoming support for guilds is much more exciting in terms of addressing new problems than single-threaded execution improvements, IMHO.

          A less humble opinion of mine is that guilds are too little, too late, and still too primitive to have a transformative effect on Ruby and its ecosystem. I think too many devs (like me) are now accustomed to more advanced/higher-level concurrency abstractions, and guilds feel like a slightly safer way of revisiting the mid-90’s.

          1. 2

            It’s used a whole lot in web dev so 3x faster will make a lot of websites faster.

            1. 1

              I think it just helps people who have already invested in Ruby justify their continued investment. I wouldn’t expect a ton of new users at this point unless they develop another “rails”.

              1. 1

                What are your favorite languages?

                1. 2

                  I try to spend as much time in Ocaml as I can, currently.

                  1. 1

                    Wow…I’ve never heard of anyone using that. :)

                    Taking a look now - it does look pretty cool.