PDS Project Proposal: 6model
Andrew Whitworth
wknight8111 at gmail.com
Fri Jul 29 13:32:54 UTC 2011
There's about a 50% chance that I will be able to attend any part of
PDS this coming weekend. One project that I want to propose we commit
to as a group is the migration of 6model into Parrot. Rakudo/nom has
seen some significant speedups over their master branch, part of which
can be attributed to speed and efficiency improvements in 6model. In
addition to performance improvements, 6model could go a long way
towards fixing, mitigating, or negating several of the bugs and
glaring misfeatures of the current Parrot object model.
this is me proposing 6model appear on our roadmap, and me volunteering
to lead the effort. If I cannot attend PDS, Please feel free to
volunteer me for any other projects that are determined to be in
dire need, but keep in mind that I *will* be devoting some significant
time to 6model in the coming months whether it ends up on the roadmap
or not.
The goal of the project will be to have 6model source in the parrot
repo, to have it building and running on all our target platforms
without significant issues, and to have at least a simple object
system built on top of it offered as a parallel alternative to the
current Parrot object model. I think it is very reasonable to expect
these things to be done by 3.9 in September.
On a practical note, I would like to start putting together a team of
interested developers to help with this. Please let me know if you are
willing and able to help out. I need to have a chat with jnthn in the
coming days to iron out a few questions I have. If there is
significant interest, we can try to schedule a meeting so everybody
interested can learn directly from the source.
I wrote a blog post about this too. Other projects that I would like
to see given attention, and am willing (if not as eager) to work on
myself are general optimization and profiling. I think we could set a
goal that, by the 3.9 release, we would like to see Parrot be a
certain percentage faster on certain benchmarks for certain platforms.
I think, if we make a concerted effort over the next three months, we
should be able to see gains of at least 10% on "average" linux-ish
systems on a wide range of benchmarks. Notice that these should be
actual, general improvements. We don't want to be tuning GC
specifically for that target platform at the detriment to other
platforms. Borrowing other work (ie, concurrent 6model-related
improvements), or updating old benchmarks to use newer best-practices
features (native-typed lexicals, etc) can count towards this goal. If
we find too much low-hanging fruit like this, we can always increase
our target percentage.
Those are my ideas for PDS. If I cannot attend, assume I am
volunteering to work on or even lead any of these things I mentioned
here, and that I am willing to work on other projects as well, as need
dictates.
--Andrew Whitworth
More information about the parrot-dev
mailing list