At 03:52 PM 3/9/2004 -0800, Edward S. Peschko wrote:
On Tue, Mar 09, 2004 at 04:21:24PM -0500, Gordon Henriksen wrote:
> "Not an opcode" doesn't mean "balkanized." There is a parrot/stdlib
> directory.

fair enough, but then where does the distinction lie? Why put gmtime, et al.
in opcodes? As well as addmonth?

If you are optimising for simplicity and , it surely makes sense to put these in
the standard library.


If you are optimising for speed, then it makes sense to put them in opcodes.

I don't think optimising for "X" is the reason. Parrot should have concise, necessary, complete opcode primitives upon which anything else can be built.

Date parsing can be done all "with" opcodes, but please not "inside" opcodes.

If we cannot provide a decently performing VM that makes people want to
write stuff in bytecode (or compiled to bytecode) we have failed anyway.

It all comes down to how fast one is versus the other. If everything is going
to be built in the standard library based off of bytecode then there will be
a performance hit. How severe, I don't know, but definitely a performance hit.

This is subjective reasoning, though. If we want to talk performance hits, we should know where we stand. When bytecode isn't full of PMC thrashing, and actually uses the low level Ix and Sx registers where possible, the JIT works extremely well and the performance beats Perl5 by several orders of magnitude in many cases. Hopefully the "hints" in Perl6 will help us write better libraries, but some of it may have to be written in IMC or slightly higher level language (on the equivalent of C, compilable to bytecode).

> > But how many times are you going to need to parse formats
> > like '3 weeks from next Wednesday?'.
>
> This sort of creeping featuritis is why date formatting and especially
> parsing do NOT belong as opcodes. It's too big a problem to solve in the

I agree.


But I don't see the 'creeping featuritis' that you see. As well as the
memory imprint problems that you see. Is parrot going to link with libc?

Yes, Parrot will link with libc.


Regardless of what we implement as opcodes, there will never be a single
solution that fits all, and it will never, ever end. Just look at Linux.

-Melvin




Reply via email to