[Pharo-dev] [IMPORTANT] Starting migration to Spur VM
estebanlm at gmail.com
Mon Dec 14 05:24:12 EST 2015
We will start migration to Spur today.
To complete it, we will require some time, specially to adapt the CI and check everything is ok.
Spur will allow us to do a big step forward in Pharo development, in the concrete you will see it immediately for this:
- We have noticed a speed increment of 100% in tiny benchmarks (and according to Eliot, it will be at least 35% in general on the system).
- No more GC stops (noticeable when running large systems)
- We will be able to scale our systems up to 2G memory consumption without loosing performance.
But, this will have some drawbacks in the first times:
1) VM will not be compatible between versions anymore: Pharo 5.0 will have a Pharo Spur VM associated (and they are not compatible).
- There WILL NOT be a "non-spur" version of Pharo 5.0. Once completed the transitions, this will be the only one.
2) NativeBoost-FFI implementation has been replaced with a new implementation who relies in ThreadedFFIPlugin and IA32Plugin. While we worked a lot to do this transition as painless as possible and we achieve a good level of backward compatibility (most uses of #nbCall: should work out of the box), there are some problems we cannot solve:
- there are some stuff not possible to compatibilise, notably:
- Structures now need to inherit from FFIExternalStructure
- Arrays now are now shadowed
- in general is a bit slower (impossible to compete with ASM) but in general is not perceptible.
- THERE WILL BE BUGS AND NON-IMPLEMENTED FEATURES: Current implementation is validated with Athens and even Roassal was working, but of course that does not covers all cases.
2.1) ASMJIT will be removed from system and put in a separated packages.
NOTE: There will be a blog post explaining FFI-NB architecture during the week.
3) There are more or less 70 new failing tests, some of them important than we need to fix as soon as possible. Please, please, please, help us with them :)
4) In general we foresee the system will became unstable some weeks, before it gets back to normal. Please be patient.
5) You will need to adapt your Pharo 5.0 related apps and CI processes (to take care about new VM). Some programs will stop work at all (for example, I think Pharo-launcher will need to be adapted).
More information about the Pharo-dev