On 0, Ovid <publiustemp-p5p3 yahoo.com> wrote:
> > On 0, Gerard Goossen <gerard tty.nl> wrote:
> > > kurila 1.3 released
> > >
> > > + Typed declarations (like C<my Animal
$dog>) are no longer
> > possible
> >
> > Just FYI, my typesafety.pm module used that. I
know I could also
>
> Unless I misunderstand Joshua, this could lead to a
1300% speedup in
> method calls because you can determine the type at
compile time and
> make the dispatch faster.
>
> http://use.p
erl.org/~jjore/journal/34643
Wow. I hadn't seen that before. Props to Joshua.
Ovid, I was thinking of doing something similar. Well, a
customer
had asked me to speed up their massive OO Perl app.
Benchmarking
was done and the finger pointed squarely at the hundreds of
thousands of method calls done each hit, most of them to
tiny
methods. So I had the idea of trying to inline the method
bodies
where they were used, hence Code::Splice. I need to look at
it
more, but I think Joshua's approach is far superior. I was
testing
with the type tag (my Dog $spot) but intended to eventually
do
full static analysis of the program to mechanically figure
out
where to do the optimization (due to the size of the
program). Didn't
get to finish it.
Anyway, this kurila thing is bugging me. I thought a fork
of Perl 5
to do some of the more radical rework was a brilliant idea.
There
are often people in here suggesting core changes who are
turned away
with the Porters not wanting to maintain the patch or deal
with the
enusing breakage. Moving both of those somewhere else but
letting
them exist would be fantastic. But instead of people
experimenting
with Perl and taking it new directions (pardon my
forwardness) it
seems more like avenues are being cut off, and for little
reason.
This makes me sad. It seems like the core could be made
less of
a mess just by cleaning up things in a way that breaks XS
modules
rather than just whacking the furtherest most appendages off
and
calling it "smaller".
Of course, whatever you do, there will be people who don't
agree
with the decsion, so I'm trying to argue my case in general
terms
rather than just in terms of a feature I've latched on to.
Anyway, with typesafety.pm, pro-actively warning about
demonstratably
inconsistent code is my first priority there. But I was
hoping to
connect the dots, so to speak, some day, and have it offer
to
finalize/inline/whatever some day.
Cheers!
-scott
> Cheers,
> Ovid
>
>
> --
> Buy the book - http://www.or
eilly.com/catalog/perlhks/
> Perl and CGI - http://u
sers.easystreet.com/ovid/cgi_course/
> Personal blog - http://publiu
s-ovidius.livejournal.com/
> Tech blog - http://use.perl.or
g/~Ovid/journal/
|