Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re^7: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot

by chromatic (Archbishop)
on Aug 06, 2013 at 00:39 UTC ( #1048022=note: print w/replies, xml ) Need Help??

in reply to Re^6: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot
in thread A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot

MoarVM combines the M0 approach with direct support for NQP and 6model.

Anyone who claims MoarVM has something in common with M0 was not paying attention when Allison, cotto, and I were sitting exactly where I'm sitting right now and finished the list of design goals for M0.

Now MoarVM may be a fine thing, if it ever runs any Perl 6 code, but you're going to have a dilly of a time convincing people you know what you're talking about if you keep spreading misinformation.

  • Comment on Re^7: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot

Replies are listed 'Best First'.
Re^8: A $dayjob Perl 6 program that runs 40x faster on the JVM than on Parrot
by raiph (Deacon) on Aug 06, 2013 at 09:10 UTC
    dukeleto, effectively the current leader of the Parrot project, writing in 2011: "the most important reason for M0 is {that} it is best for a virtual machine to minimize crossing language boundaries" and M0 supplied "high-level constructs and conveniences, such as objects, lexical variables, classes and their associated syntax sugar". While the details are of course different I find dukeleto's description of MoarVM as "the spiritual successor to M0" apt.

    if MoarVM will ever run any Perl 6 code

    That's FUD.

    Update 5 months later: Rakudo/MoarVM is already compiling the core setting -- which is 18K lines of non-trivial Perl 6 code -- and passing ~26k of ~28k spectests.

    Update a year later: Rakudo on MoarVM now passes more spectests than on other backends. It's startup, compilation, and run time are generally much faster and use much less RAM. Etc. In short, MoarVM is now firmly established as devs' most popular backend for most uses.

    (To be clear, Rakudo on JVM has a few advantages: it runs on the JVM, which is necessary or desirable for some folk; it can interop with Java code; it's sometimes much faster for long running code due to its excellent and mature JIT; it has battle hardened threads which means concurrent code is currently more reliable.)

      While the details are of course different I find dukeleto's description of MoarVM as "the spiritual successor to M0" apt.

      With all due respect, you find it apt because you don't know anything about M0.

      Your strategy of finding random quotes from IRC which, when taken out of context, appear to support whatever you're trying to argue at the moment is not research. It's propaganda—done badly, at that.

      If you were truly interested in M0, any decent search engine, or even a trawl through one of several Perl 6 and Parrot Links pages, would have taken you to an article written in 2011 by one of the designers and developers of Lorito and M0. That article is Less Magic, Less C, A Faster Parrot, which says:

      The current stage of Lorito is M0, the "zero magic" layer of implementing a handful of operations which provide the language semantics of C without dragging along the C execution model. In other words, it's a language powerful enough to do everything we use C for without actually being C. It offers access to raw memory, basic mathematical operations, and Turing-complete branching while not relying on the C stack and C calling conventions.

      This was the core of both the M0 design and Lorito itself.

      If you'd bothered to find that, let alone understand it, I hope you wouldn't have posted such nonsense. MoarVM may have a fine design, but unless it's taking the Squeak Slang approach (or the Forth approach or...) that M0 intended, MoarVM has nothing substantive in common with M0. The only reasonable interpretation of dukeleto's comment is that it's metonymy, where "a smaller, simpler VM (via reimplementation as Moar)" is similar to "a smaller, simpler VM (via M0)".

      Metonymy is not, of course, an exhaustive technical explanation.

      Your lack of research and your apparent disregard for the truth of what happened—even when you're corrected by the people who were actually there, who actually designed and implemented the subjects under discussion—makes both you and P6 look bad. If you're trying to advocate for P6, you're doing a terrible job.

      I shouldn't have to keep telling you this.

      If you don't think an NQP/MVM "hello world" counts as Perl 6 code...

      After thirteen years, I don't care about potential. If and when something passes the P6 spec tests, I'll take it seriously as a P6 implementation.

        I had already read several descriptions of M0, from the first time I heard about it in 2011, including the one you quoted. Aiui the MoarVM approach is to start with a version written in hand coded C (and stick with that through 6.0.0) and then rewrite MoarVM and its JIT in (a subset of) Perl 6. This still makes sense to me as the appropriate P6/Rakudo/NQP flavored version of M0 thinking.

        But am definitely out of my depth, and the OP was about Rakudo/JVM, so I'm going to quit talking about M0 and MoarVM.

      ...That's FUD... hello world ...

      that's pure clownshoes

        You guys are relentless aren't you?

        From the first Rakudo/JVM "hello world" to being able to run substantial programs such as the subject of this thread took a further 6 weeks. Again, iirc, diakopter estimates that getting Rakudo/MVM to the same place will take about the same time.

        Of course, things might not go according to plan. But my point is to respond to chromatic's misleading FUD -- "if MoarVM ever runs any Perl 6 code".

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1048022]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2023-09-26 09:07 GMT
Find Nodes?
    Voting Booth?

    No recent polls found