Mostrando entradas con la etiqueta inline. Mostrar todas las entradas
Mostrando entradas con la etiqueta inline. Mostrar todas las entradas

lunes, 23 de abril de 2012

Fastruby 0.0.21: Inline of corelib fixnum methods, restored ruby 1.8 compat

Fastruby is a gem which allows to execute ruby code much faster than normal, currently in a state of transition between a spike and a usable gem, it is released when possible with incremental improvements.

One of the main improvements on fastruby v0.0.20 v0.0.21 was the implementation of a few corelib methods (e.g. Fixnum#+) in ruby to allow inline them. The other is the restored compatibility with ruby 1.8

Install

You can clone the repository at github:
git clone git://github.com/tario/fastruby.git
git checkout v0.0.21

Or install it using gem install:
gem install fastruby


Speedup

Before (v0.0.19 and prior)







Now:








NOTE: Since issues with 1.8 compatibility, inline of corelib methods won't works on ruby 1.8, this will be fixed for v0.0.22 in future releases

Next

martes, 14 de febrero de 2012

Fastruby 0.0.19 released: improve of inline, performance bugs fixed

Fastruby is a gem which allows to execute ruby code much faster than normal, currently in a state of transition between a spike and a usable gem, it is released when possible with incremental improvements.

The main improvements on fastruby v0.0.19 are refinements on the inliner algorithm:
  • Inline of block calls (was not possible before)
  • Inline of methods with block calls (was not possible before)
And the fix of two important bugs:
  • Duplicated entries on $LOAD_PATH creates an incremental latency on require as new methods are built. Fixing this bug allows obtaining a reduction of total time of tests of %80 (150 seconds to 30 seconds on my machine). Moral: don't touch $LOAD_PATH if possible
  • Replacement of CFUNC calls using the previously implemented observer mechanism for inlining
  • Fixed case statements reduction to use deterministic names for temporal variable and allow caching of methods using case statements
No new big features...

Install

You can clone the repository at github:
git clone git://github.com/tario/fastruby.git
git checkout v0.0.19

Or install it using gem install:
gem install fastruby