4 ms·
Nice to see the 3x3 work continuing to go well with that 5-10% speed up. For anyone who hasn’t seen it, Ruby declared a target for Ruby 3.0 to be 3x faster than
by greysteil 9y ago
Nice to see the 3x3 work continuing to go well with that 5-10% speed up. For anyone who hasn’t seen it, Ruby declared a target for Ruby 3.0 to be 3x faster than 2.0.
http://engineering.appfolio.com/appfolio-engineering/2015/11/18/ruby-3x3 http://engineering.appfolio.com/appfolio-engineering/2015/11...
- diminish 9y agoWhat particular speed improvements do we expect from 2.5.0 release? String interpolation speedup?
- WJW 9y agoIn addition to the ERB generation and removing all the tracepoints mentioned in the sister comment, there is also a change in the hash function used for Hashmaps. The new one needs roughly half the hashing iterations so it should slightly speed up any application that uses hashtables. (aka pretty much every ruby app)
- greysteil 9y agoERB generation should be a lot faster, which will be a boon for a lot of Rails apps, and according to the release notes there's a 5-10% performance improvement overall from removing all trace instructions from bytecode.
- semiquaver 9y agoRails has not used the stdlib ERB implementation for a long time. As of 5.1 it uses erubi [0] and prior to that it used erubis. [1] So the performance improvements to the stdlib ERB implementation will not affect rails apps. [0] https://github.com/rails/rails/pull/27757 https://github.com/rails/rails/pull/27757 [1] https://github.com/rails/rails/pull/16773 https://github.com/rails/rails/pull/16773
- JohnBooty 9y agoAmong others, from the linked article: About 5-10% performance improvement by removing all trace instructions from overall bytecode (instruction sequences). The trace instruction was added to support the TracePoint. However, in most cases, TracePoint is not used and trace instructions are pure overhead. Instead, now we use a dynamic instrumentation technique. See [Feature #14104] for more details.