Hi Eliot,

Le 15/09/2014 18:23, Eliot Miranda a écrit :
Hi All,

On Mon, Sep 15, 2014 at 6:01 AM, Thierry Goubier <thierry.goub...@gmail.com <mailto:thierry.goub...@gmail.com>> wrote:


    I would not suggest replacing C by LLVM-IR for VM work, in part
    because LLVM-IR is not what I would call a readable source code
    format... But I do know that even when doing C to C rewritting for
    embedded compilation, there is some low-level code that you can't
    write in C.


I find this whole discussion depressing. It seems people would rather put their energy in chasing quick fixes or other technologies instead of contributing to the work that is being done in the existing VM. People discuss using LLVM as if the code generation capabilities inside Cog were somehow poor or have no chance of competing. Spur is around twice as fast as the current memory manager, has much better support for the FFI. Clément and I, now with help from Ronie, are making excellent progress towards an adaptive optimizer/speculative inliner that will give us similar performance to V8 (the Google JavaScript VM, lead by Lars Bak, who implemented the HotSpot VM (Smalltalk and Java)) et al. We are trying to get person-power for a high-quality FFI and have a prototype for a non-blocking VM. When we succeed C won't be any better and so it won't be an interesting target. One will be able to program entirely in Smalltalk and get excellent performance. But we need effort. Collaboration.
I certainly appreciate how much we own to your work on Cog. I wouldn't have come back to Squeak/Pharo without it (not after going through the Squeak VM when Ian Piumarta was taking care of it), and I'm thrilled by the performance goals you're targetting. This is great!

At the same time, I do use that C/LLVM today for automatic vectorization, GPU support, automatic parallelisation for CPUs with over a thousand cores, compiling for exotic embedded platforms... That work I have to do for R (or Python) I'd also like to explore it with Pharo and for that, FFI or NativeBoost have their uses.

Including the fact that I can run experiments proving or disproving certain techniques/attempts without bothering Cog development until it is proven it is worth the inclusion :)

Personally I feel so discouraged when people talk about using LLVM or libffi or whatever instead of having the courage and energy to make our system world-class. I have the confidence in our abilities to compete with the best and am saddened that people in the community don't value the technology we already have and can't show faith in our abilities to improve it further. Show some confidence and express support and above all get involved.
You have a point :) VM development is hard, and is vital for Squeak/Pharo.

Collaborators <http://www.mirandabanda.org/cogblog/collaborators/>
Cog Projects <http://www.mirandabanda.org/cogblog/cog-projects/>
Spur 1/3 <https://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRLsMMBqG8YlwfhvB0X> Spur, a new object representa... <http://www.slideshare.net/esug/spur-a-new-object-representation-for-cog> Sista: Improving Cog's JIT performance 1/2 <https://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8YlwfhvB0X&index=76> Sista: Improving Cog’s JIT pe <http://www.slideshare.net/esug/sista-talkesug2>.. Lowcode: Redoing NativeBoost ... <http://www.slideshare.net/esug/03-lowcodeslides>
You didn't announce the last one or I missed it?

Regards,

Thierry

Reply via email to