Hacker News new | past | comments | ask | show | jobs | submit login

We sponsor Matz, Nobu, and Koichi. Of them Koichi works pretty much full time on speed. He implemented partial generational GC in Ruby 2.1 and incremental GC in 2.2. He also implemented faster keyword arguments https://bugs.ruby-lang.org/issues/10440.

There's actually been a bunch of great performance increases in the past few years in addition to the GC. Optimized method cache invalidation by the late James Golick, frozen string pool for hash keys by tmm1, using vfork instead of fork, etc, copy on write GC. There's also new features, like Ruby's ability to GC symbols that let developers use symbols in more places and spend less time converting back and forth between strings.

So yes, money is a factor. Having employees work on it full time helps. Despite only having 3 full time employees Ruby has made some pretty impressive improvements recently.




But basic knowledge of fast VMs would also help. Maybe get an engineer from a good school? E.g. a decent GC would help ruby a lot, i.e. Cheney Copying Collector with thread support. Ruby is used on devices with lots of RAM and big cache lines. Or optimized data structures (nan-tagging, better tagging) and slimmed down ops. I need 32bit per op plus 2 args. Check out how much more ops fit into your cache line then. The ruby hash table implementation also sucks. Write a good one. Study the literature. It's basic engineering, you don't need to be a genius, really.

And embrace types, either optional or inferenced. Optimize on type information.


> late James Golick

Holy shit, how did I miss this?

edit: more details here: https://news.ycombinator.com/item?id=8804624

That's really sad...good guy


Also I believe this will help a lot: http://rbkit.codemancers.com/




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: