On Sat, Oct 18, 2003 at 05:20:50PM -0400, Jesse Schoch wrote:

> The problem with B::Bytecode for me is that it seems to be very broken on
> win32 and 5.8.0, and until activestate releases a 5.8.1 build, it will be
> impractical to do any testing on win32.  Until I get 5.8.1 to build on my
> system I will not be able to do any testing, though it may be worth it for
> me to test on linux 5.8.1 just to get a feel for what will be required to
> deal with B::Bytecode and B::ByteLoader, I can't imagine that it will be
> that hard to introduce a step that takes $pfile and post processes it with
> B::Bytecode.

I'm not sure how much less broken bytecode it is on 5.8.1. Enache Adrian
was able to get some work done on fixing it, but I'm not sure how far he
got. I think that the principle problem is the bytecode system has no
champion among the core developers. I suspect that this is partly
because no-one has any personal need to get it working, and partly because
it's not easy to get working, so no-one is motivated to find it fun.

Mainly this is because perl5 was not designed to write out bytecode - the
internal representation of the ops is a tree, not a linear stream.
>From what I remember currently the bytecode (for simple scripts) is much
larger than the perl source, and is also much slower to load than parsing
the perl source, so it currently holds no benefit. The differences are
sufficiently large that it's not clear that either speed or size can
be improved such that it will beat perl source, hence it's not clear
to anyone thinking of embarking on working on the bytecode code that
they will ever produce anything beneficial

(Given that the perl source is open, and that it's attracting people
who like working on open source, they aren't the sort of people who
would see making something that obscures source as something that they
would benefit from. Hence while I can see that such a thing would be
beneficial to many readers of this list, to date the subscribers of this
list aren't the sort of people working on the perl core code)


Activestate are working on 5.8.1. I don't know what will come of this, or
when, but they have staff active on it.


Nicholas Clark

Reply via email to