Some Requests from Rakudo
Christoph Otto
christoph at mksig.org
Wed Aug 17 11:01:23 UTC 2011
Earlier today at YAPC::EU, jnthn mentioned a number of features and
needs that would be especially helpful to Rakudo. I though I ought to
relay those items. They are as follows.
1) Threading - this isn't a pressing concern right now, but we'll need
to something about it in the near future. nine, (a.k.a. Stefan
Seifert) dropped by #parrot and is apparently here at yapc. I'll try
to find him. From what I've heard he's interested in helping
Rakudo's threading, which means whipping Parrot's threading into
shape. In the event that he's interested, I'd like to ask for a
mentor to guide him through Parrot's guts and help him get working
quickly. Ideally this would be someone who's looked at the threading
code and has some familiarity with the existing code.
2) Asynchronous I/O - This also isn't urgent, but will become
increasingly important. People have come to Rakudo and said that
they'd start hacking on web apps once A I/O was implemented. We need
to figure out what primitives we need to provide to HLLs, then
provide them.
3) sub cloning - (This is primarily a memory usage change, not a speed
improvement.) Perl 6 is a very closure-heavy language. Our sub
cloning code copies a lot of data that doesn't actually vary between
sub. Someone (possibly me) needs to dig into this, do some
profiling and figure out the best way to avoid cloning the bits that
don't change.
4) PCC - while Rakudo uses a custom binder, nqp doesn't and is sensitive
to the speed of Parrot's non-:call_sig calling conventions.
Profiling, refactoring and general performance improvements would
make Rakudo happier by speeding up their build. Additionally, we
need to be sure that :call_sig is as fast as we can make it. I
suspect that it is, but verifying this would be helpful.
5) invocation - Separate from PCC itself, we need to profile and
optimize sub invocation.
I've been having a great time at yapc, especially seeing some of the
really cool stuff being done on top of Rakudo. Parrot has a great
opportunity to improve Rakudo's foundation, and by doing so to advance
what people expect of dynamic languages. I'm excited by the opportunity
and hope we'll be up to the task.
Thanks, Christoph
More information about the parrot-dev
mailing list