On 27 November 2017 at 04:15, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
 


2017-11-26 21:04 GMT+01:00 Clément Bera <bera.clement@gmail.com>:
 
Hi,

Thanks Nicolas. I will try anytime soon (Wednesday at worst) to regenerate the code.

 
About MiscPlugin... 

I have set-up a project with my student for next semester (January-May). The idea is to:
1) Port Misc to standard plugin architecture.
2) Evaluate the performance of specific primitives in JIT intrinsic (I mean rewritten like SmallInteger>>#+ in the JIT), especially findSubString and compareString, both with standard instructions of Cog's RTL and with SSE4.2 string instructions.
3) Based on evaluation, consider to move 1 or 2 primitives from plugin to core VM primitives and add the intrinsic version in production.

I did 3 steps so the project is interesting and allows to work with different part of the VM, but I think only 1) is guaranteed to be done with the student level. I expect therefore the Misc problem to be solved by the end of March (If my student don't do it I will do it).

If you want to collaborate on this at a rate of one ~15 min skype meeting per month please tell me, I will introduce you to the student (we're all French speakers).

By the way, I think the new Misc should be renamed ByteObjectPlugin since this is about ByteString & ByteArray (hash, comparison, indexOf:, findSubString, ...) and BitMap (compression/decompression). What do you think ?


Yes, good idea, and while at it, we will make the String comparison return -1, 0 or 1 insted of 1,2,3.
Maybe ByteObjectAcceleratorPlugin, but it's a bit long...


"Accelerator" seems redundant.  Isn't that semantic implicit in making a plugin? 
 
cheers -ben