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