When I run a Squeak image on the Raspberry Pie, the UI is much faster with
the default VM present on the Raspberry Pie than with a VM compiled on the
Cog or Pharo branch.
I heard that this is because Tim Rowledge changed BitBlt implementation in
the Pie VM / Pie image, reimplementing it image-side and not VM-side,
resulting in a faster BitBlt.
I have questions:
- Is it true ?
- Is the BitBlt code of Tim Rowledge open source ? If so, where is it and
what is exactly its license ?
- Would it make sense to port that or do something similar on Intel VM ?
Would we see a performance gain / loss ?
I am asking it because last time I discussed with Bert, he said that it
would be fun to have a smalltalk-implemented BitBlt combined with a JIT
compiler doing automatic vectorization in order to have vector graphics
implemented as Bit-based graphics. The more I think about it the more I
think this makes sense. Even if it's in the far future (I'm stabilizing
inlining and SmallInteger range optimizations first in the JIT), I would
like to go in that direction.
Thanks for any answer.