Re: [Pharo-dev] The Second Coming of Java article

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Second Coming of Java article

Eliot Miranda-2
 



On Tue, Nov 26, 2013 at 12:49 PM, [hidden email] <[hidden email]> wrote:
FWIW, I'd love to have a working Pharo bytecode interpreter that works. VMMaker currently doesn't have one it seems (earlier experiments didn't worked for me).

I am very interested with the VM, read the blue book, understand the primitives, can somewhat read bytecode but what is needed now is the ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain in the ass to understand what's going on. 

Also read the Tour of the OE of Tim Rowledge and Porting the VM etc. 

Also looked at the VMMaker package (Interpreter and Object Memory) + Slang.

Now, getting an working interpreter would help me reach the next step. I am not talking about the Stack interpreter, but the plain Interpreter.

Any plans?

David Lewis and I want to see the Cog branch and the VMMaker proper merged and I definitely want the standard Interpreter to be married to Spur.  But I have no cycles to do this, and I don't think David has many either.  Volunteers welcome.
 

Phil

---
Philippe Back
Dramatic Performance Improvements
Mob: <a href="tel:%2B32%280%29%20478%20650%20140" value="+32478650140" target="_blank">+32(0) 478 650 140 | Fax: <a href="tel:%2B32%20%280%29%2070%20408%20027" value="+3270408027" target="_blank">+32 (0) 70 408 027
Blog: http://philippeback.be | Twitter: @philippeback

High Octane SPRL
rue cour Boisacq 101 | 1301 Bierges | Belgium

Pharo Consortium Member - http://consortium.pharo.org/
Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com
Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller
 



On Tue, Nov 26, 2013 at 9:33 PM, Stéphane Ducasse <[hidden email]> wrote:

On Nov 26, 2013, at 1:21 PM, [hidden email] wrote:

I downloaded ST/X this morning and looked around for a couple hours.

Impressive system. And impressive clients list/activities etc.
<rant>
And wow, Claus is yet another individual with top notch computer chops... Seems that this community has the highest density of high perf brains. I feel humbled indeed.
</rant>

What struck me was the speed.

15 years of working improving the VM pays off.
This is why the work of Eliot on Spur are also important. What is also important is that more people can work on the VM
for cleaning it so that we get a documented and good vehicule.
And this will take time. We are working on a prototype to get forced to think about VM and learn. But this prototype will 
not replace Cog in the near future. So we should be happy that cog is there and improving.

Stef

Pharo really needs a huge speedup on the UI front. I am using a top of the line desktop system and still Pharo sometimes feels slow (some is due to algorithms - like the finder tool taking ages for a lot of things, but some is due to the UI system).

This is not linked to the VM, as the MVC projects in Squeak are uber fast.

Is the Text rewrite going to have an impact on this?

On the front of interoperability, I personally have chosen to go the RabbitMQ route, it allows me to wire all kinds of things together with some room for scale.

On the Java front itself, in the TCL community, we do have tclbend and also a package to do the same thing as STX:LIBJAVA. Truth be told, there hasn't been much traction in there. It works fine but that's it. http://www2.tcl.tk/1313 - usage sample http://www2.tcl.tk/14919
It also has fell behind in terms of keeping up with the latest versions of the environment.

In PHP, there is the Quercus and Caucho Resin Server that allows to run PHP on top of the JVM and invoke Java from there. Some people run very fast stuff on that, and benefiting from all JEE abilities (JMS, JTA, Clustering, JAAS...) is really nice.  http://www.caucho.com/resin-3.1/doc/quercus.xtp


Phil




On Tue, Nov 26, 2013 at 12:26 PM, Jan Vrany <[hidden email]> wrote:
On 26/11/13 10:40, Serge Stinckwich wrote:
On Tue, Nov 26, 2013 at 10:54 AM, Jan Vrany <[hidden email]> wrote:
On 26/11/13 03:28, askoh wrote:

Bravo Jan and your collaborators. You have done it.


Thanks.


Anything preventing STX:LIBJAVA from being used in production
environments?


Good question. STX:LIBJAVA is still a research phase. However, if everything
goes fine, we might have first project using it for real
in couple months.


What is important is also the licence. Do you use an open-source licence ?

Strictly speaking - no. For various, historical reasons.

The Smalltalk part STX:LIBJAVA support code is available under
the same terms as Smalltalk/X itself [1].

The code of the VM is not publicly available for various reasons,
though it is possible to get an access. Ask Claus Gittinger if
you're interested in details.


Anything preventing Pharo and VisualWorks for using the technology also?

Short answer: Time and money.
The way we did it requires significant changes to the virtual machine
(as we believe this is the only way to get a decent performance). Indeed, if
somebody going to pay for it, everything's possible ;-)

You should try to ask ESUG about financial support.


Maybe I should. But frankly - how many people in this community are like "That would be great, I need this feature!" Raise hands. :-)

Cheers, Jan

[1] http://www.exept.de/cgi-bin/viewvc.cgi/stx/README?view=markup








--
best,
Eliot
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Second Coming of Java article

David T. Lewis
 
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:

> On Tue, Nov 26, 2013 at 12:49 PM, [hidden email] <[hidden email]>wrote:
>
> > FWIW, I'd love to have a working Pharo bytecode interpreter that works.
> > VMMaker currently doesn't have one it seems (earlier experiments didn't
> > worked for me).
> >
> > I am very interested with the VM, read the blue book, understand the
> > primitives, can somewhat read bytecode but what is needed now is the
> > ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain
> > in the ass to understand what's going on.
> >
> > Also read the Tour of the OE of Tim Rowledge and Porting the VM etc.
> >
> > Also looked at the VMMaker package (Interpreter and Object Memory) + Slang.
> >
> > Now, getting an working interpreter would help me reach the next step. I
> > am not talking about the Stack interpreter, but the plain Interpreter.
> >
> > Any plans?
> >
>
> David Lewis and I want to see the Cog branch and the VMMaker proper merged
> and I definitely want the standard Interpreter to be married to Spur.  But
> I have no cycles to do this, and I don't think David has many either.
>  Volunteers welcome.

Fully agree :-)

With respect to the interpreter simulator, the simulators tend to get
bit rotted when not used, but I think that overall they are in reasonable
shape.  Granted that we currently have to fumble around with multiple code
bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur
simulator, you can use the appropriate classes in the oscog branch (after
all, that is what Eliot is using for his active development, and it's quite
unlikely that he could do this without a working simulator). And if you
want to run an image using the classic interpreter, you should use the
interpreter simulator in the "trunk" VMMaker branch.

I realize this may be a bit confusing, but as Eliot says there are only
so may free cycles available, so if someone wants to help ...

I just tried loading an image into the ("trunk") InterpreterSimulator
and found a problem in loading an image that had been saved from Cog.
This would be a problem if you wanted to load a Pharo image into the
InterpreterSimulator to try running bytecodes using a simple interpreter.
The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMaker repository.
Hopefully it works for you now, please give it a try.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Second Coming of Java article

philippeback
 
Hi Dave, Eliot,

Dave,

Yes, that is the problem I was running into. I'll check that out. I could get a bit further by hacking some version numbers if I remember well but then got stuck again. I do not remember why exactly. It felt a bit like crossing the desert with a single bottle of water :-)

Eliot,

Thanks for the pointers.

Maybe would it be great to have a Google Hangout or two with the people doing the VM work (you both, Clement, Esteban, ...) and go through what matters in the process of dealing with the simulators.

Phil







 



On Wed, Nov 27, 2013 at 4:01 AM, David T. Lewis <[hidden email]> wrote:
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:
> On Tue, Nov 26, 2013 at 12:49 PM, [hidden email] <[hidden email]>wrote:
>
> > FWIW, I'd love to have a working Pharo bytecode interpreter that works.
> > VMMaker currently doesn't have one it seems (earlier experiments didn't
> > worked for me).
> >
> > I am very interested with the VM, read the blue book, understand the
> > primitives, can somewhat read bytecode but what is needed now is the
> > ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain
> > in the ass to understand what's going on.
> >
> > Also read the Tour of the OE of Tim Rowledge and Porting the VM etc.
> >
> > Also looked at the VMMaker package (Interpreter and Object Memory) + Slang.
> >
> > Now, getting an working interpreter would help me reach the next step. I
> > am not talking about the Stack interpreter, but the plain Interpreter.
> >
> > Any plans?
> >
>
> David Lewis and I want to see the Cog branch and the VMMaker proper merged
> and I definitely want the standard Interpreter to be married to Spur.  But
> I have no cycles to do this, and I don't think David has many either.
>  Volunteers welcome.

Fully agree :-)

With respect to the interpreter simulator, the simulators tend to get
bit rotted when not used, but I think that overall they are in reasonable
shape.  Granted that we currently have to fumble around with multiple code
bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur
simulator, you can use the appropriate classes in the oscog branch (after
all, that is what Eliot is using for his active development, and it's quite
unlikely that he could do this without a working simulator). And if you
want to run an image using the classic interpreter, you should use the
interpreter simulator in the "trunk" VMMaker branch.

I realize this may be a bit confusing, but as Eliot says there are only
so may free cycles available, so if someone wants to help ...

I just tried loading an image into the ("trunk") InterpreterSimulator
and found a problem in loading an image that had been saved from Cog.
This would be a problem if you wanted to load a Pharo image into the
InterpreterSimulator to try running bytecodes using a simple interpreter.
The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMaker repository.
Hopefully it works for you now, please give it a try.

Dave



Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Second Coming of Java article

Clément Béra
 

Hey,

2013/11/27 [hidden email] <[hidden email]>
 
Hi Dave, Eliot,

Dave,

Yes, that is the problem I was running into. I'll check that out. I could get a bit further by hacking some version numbers if I remember well but then got stuck again. I do not remember why exactly. It felt a bit like crossing the desert with a single bottle of water :-)

Eliot,

Thanks for the pointers.

Maybe would it be great to have a Google Hangout or two with the people doing the VM work (you both, Clement, Esteban, ...) and go through what matters in the process of dealing with the simulators.

There's no so much problems, someone just need to spend time making the simulator work on Pharo 2.0. Basically you need to fix usages of TranscriptStream, FileSystem and Morph to new APIs. I will do it at some point for Sista. But right now I focus on the in-image part so I will do it later (I hope in a month at most).


Phil







 



On Wed, Nov 27, 2013 at 4:01 AM, David T. Lewis <[hidden email]> wrote:
On Tue, Nov 26, 2013 at 01:30:40PM -0800, Eliot Miranda wrote:
> On Tue, Nov 26, 2013 at 12:49 PM, [hidden email] <[hidden email]>wrote:
>
> > FWIW, I'd love to have a working Pharo bytecode interpreter that works.
> > VMMaker currently doesn't have one it seems (earlier experiments didn't
> > worked for me).
> >
> > I am very interested with the VM, read the blue book, understand the
> > primitives, can somewhat read bytecode but what is needed now is the
> > ability to run/debug a VM inside Pharo itself. GDB'ing is okay but a pain
> > in the ass to understand what's going on.
> >
> > Also read the Tour of the OE of Tim Rowledge and Porting the VM etc.
> >
> > Also looked at the VMMaker package (Interpreter and Object Memory) + Slang.
> >
> > Now, getting an working interpreter would help me reach the next step. I
> > am not talking about the Stack interpreter, but the plain Interpreter.
> >
> > Any plans?
> >
>
> David Lewis and I want to see the Cog branch and the VMMaker proper merged
> and I definitely want the standard Interpreter to be married to Spur.  But
> I have no cycles to do this, and I don't think David has many either.
>  Volunteers welcome.

Fully agree :-)

With respect to the interpreter simulator, the simulators tend to get
bit rotted when not used, but I think that overall they are in reasonable
shape.  Granted that we currently have to fumble around with multiple code
bases, but it's fair to say that if you want to run a Cog/StackInterpreter/Spur
simulator, you can use the appropriate classes in the oscog branch (after
all, that is what Eliot is using for his active development, and it's quite
unlikely that he could do this without a working simulator). And if you
want to run an image using the classic interpreter, you should use the
interpreter simulator in the "trunk" VMMaker branch.

I realize this may be a bit confusing, but as Eliot says there are only
so may free cycles available, so if someone wants to help ...

I just tried loading an image into the ("trunk") InterpreterSimulator
and found a problem in loading an image that had been saved from Cog.
This would be a problem if you wanted to load a Pharo image into the
InterpreterSimulator to try running bytecodes using a simple interpreter.
The fix is in VMMaker-dtl.330 in the source.squeak.org/VMMaker repository.
Hopefully it works for you now, please give it a try.

Dave