Ops Review

Andrew Whitworth wknight8111 at gmail.com
Tue Jan 20 22:23:26 UTC 2009


On Tue, Jan 20, 2009 at 3:58 PM, Geoffrey Broadwell <geoff at broadwell.org> wrote:
> My assumption was that the fastest possible thing in PIR was a JITable
> op -- is that not still the case?

Depends which op. Some operations such as basic data shuffling and
arithmetic operations are very fast when they've been properly JIT'd.
If we're doing an add on a PMC, the JIT'd version constructs a call to
the VTABLE_add method and calls that, which isn't any faster then a
non-JIT'd version and you lose the extra time converting the call to
machine code in the first place.  The CGP runcore, when available, is
mighty fast as well but again you're spending processing time to
predereference the packfile and many of the operations just call a
VTABLE method or some other internal function so there isn't much of a
speed gain with it. We're also assuming that the resultant machine
code is well-tuned, which might not always be true.

I don't doubt that JIT is the fastest thing available, when it works,
but I would be surprised to hear that the performance was
*significantly* better with it.

--Andrew Whitworth


More information about the parrot-dev mailing list