http://www.perlmonks.org?node_id=987068


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

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.

Replies are listed 'Best First'.
Re^5: Perl 5 Optimizing Compiler
by eyepopslikeamosquito (Archbishop) on Aug 13, 2012 at 08:40 UTC

    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 perl.com article (2001), which explains why making Perl as fast as C is problematic.