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).


Reply via email to