Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Perl 5 Optimizing Compiler

by rgiskard (Hermit)
on Aug 13, 2012 at 07:43 UTC ( #987061=note: print w/replies, xml ) Need Help??

in reply to Re: Perl 5 Optimizing Compiler
in thread Perl 5 Optimizing Compiler

I think most people would like to see perlcc revived. If it is as impossible as you are making it out to be, then I for one welcome a YAPC talk on the failed persuit of reviving the compiler. Perhaps the goal is too ambitious for the time allotted, but I don't see why that should halt side-projects.

Replies are listed 'Best First'.
Re^3: Perl 5 Optimizing Compiler
by eyepopslikeamosquito (Chancellor) on Aug 13, 2012 at 07:53 UTC

    I too would like to see perlcc revived and it appears that it is already being revived by Reini Urban on CPAN. What I think is way too ambitious, especially for the timeframe suggested, is the OP's stated performance goal of "making Perl run at speeds within an order of magnitude of optimized C".

      Right, well I too feel that premature optimization is the route to all evil. I personally would find it hard to compete with native C; however, I do recall Java having similar speed issues (it being non-natively compiled). Then (over the course of a decade) everyone swapped out boxes for VMs... Virtual Machines which, perhaps inspired by slowness, happened to use the speed which a Java program runs as a common benchmark. So everyone started optimizing their VMs to run Java programs quickly. We are now at that point where Java can run as fast (or faster) than a "native" application (clearly depending on your environment and how you define native). I didn't know Reini was doing something like this... am checking it out now.

        From Type system (wikipedia):

        Certain languages, for example Clojure, Common Lisp, or Cython, are dynamically typed by default, but allow this behaviour to be overridden through the use of explicit type hints that result in static typing. One reason to use such hints would be to achieve the performance benefits of static typing in performance-sensitive parts of code.

        So, to get close to (statically typed) Java in terms of speed, Perl 5 would need to make significant tweaks to its type system and the way it handles polymorphism, as indicated by chromatic's response. See also MJD article (2001), which explains why making Perl as fast as C is problematic.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://987061]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2018-06-24 20:50 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.