- Name: Reini urban
- Email: [hidden email]
- Duration: Until March 2011
- Amount Requested: € $1000 (just for motivation)
Fix most of the remaining perl compiler, i.e. B::C, B::CC, B::Bytecode bugs.
Improve documentation a bit.
Maintain the planned compiler.perl.org site.
Benefits to the Perl Community
A working compiler.
Faster startup time.
Optionally faster run-time if the B::CC optimizations work out as expected.
parrot? I've worked with them. I gave up. Better a half-ass perl5 compiler now, than the ongoing ... with parrot/perl6.
Extend the testsuite reasonably - but less is more. The full author tests for all tested perls on all platforms needs 2 days.
Fix the existing SKIPs and TODOs
Testsuite passing on my main platforms cygwin, MSWin32, debian5, centos5, freebsd7, solaris10.
More fun, less headaches
I don't think I need this.
See below at Project Schedule. From now until end of March 2011, the next surf-season.
I successfully ported the abandoned compiler to 5.10 and blead and fixed most of the old bugs, so that the tests pass now on most platforms.
But there's more todo. Finding bugs cannot be detailled here. In the core suite are some, in the top100 modules are some, the community will come up with more. Some are known, some not yet. So far all found bugs could be fixed within 1-2 days, sometimes they are just hard to catch.
- Adjust the perl core suite and find limitations (runperl issues) vs bugs
- Check modules
- Check user reports
- Check weird platforms, compilers, programming tricks.
Well, some bugs are run-time limitations which will require run-time solutions. The sortcv bug [CPAN #53536] is easily understood but hard to fix. Will need at least 2 days concentration on it.
Planned CC Optimizations
Static initialization of readonly data: SVs, AVs, HVs.
-fcog for strings (copy on grow by using a custom destructor)
Fill in missing Opcodes flags for most optimisable ops. Maybe even automatically.
Check possible type declarations with Devel::TypeCheck, MooseX::Types, attributes and such.
I've finished 50% of Malcom's Todo during the winter surf-holidays, and fixed 90% of Malcom bugs in the last year so I'm confident.
I've already got a sponsor for my conference travel expenses. A tip: They could be persuaded to sponsor this grant also :) (cPanel)
During summer-time I prefer surfing over coding to keep emotional stability in the coorporate environment. Winter 2009-2010 was very productive, because I got a kick by cPanel who needed it.
For the next coding season I might need further kicks, a mini-grant like this might be enough.
2010: Find and fix all remaining bugs. I suspect there are still 5-6 major ones.
2010: Faster testsuite. Now: 8 min user - 40min author - 2 days all perls + plats.
Until March 2011: CC type and sub optimisations
Later (not part of this proposal)
Until 2012: CC unrolling => jit within perl (perl -j)
Reini Urban, living in Graz, Austria. Born 1963, pretty old, yes.
Born Lisper, but I've been writing perl programs since 1992 and released my first module to CPAN in 1995, the perl5.hlp file for Windows, created by some pod2rtf.pl. cygwin maintainer (perl, parrot, postgresql, clisp, ...) for a couple of years, and several B::* modules.
I work for a large HW+SW company (>2000 developers), 8-16 o'clock.
Since nobody is able to help me with the compiler it looks like I'm alone. Hopefully this will change! I even had to write my own Debugger. Yes, I'm aware of trucks. Surfing is not risky at all. Bycycling is more dangerous.