NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Working proof (Score:2)
I can describe a working method for making the perl core faster, but it involves upgrading the processor you are using. And all of us will probably be doing it at least once in the next 3-7 years or so.
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
OK I'll bite... (Score:2)
Or is Parrot not the great-white-hope we think it is?
Re:OK I'll bite... (Score:1)
The trick is refactoring (or reimplementing) Perl 5 so that it runs on Parrot. It ought to make things faster though.
Re:OK I'll bite... (Score:2)
Re:OK I'll bite... (Score:2)
I think you mean PONIE [poniecode.org]. Shame that none of the links on that page seem to go anywhere useful.
Did we ever get an official announcement on what was happening with PONIE? There was a lot of action three years ago, but it all seems to have died out now?
send out the search parties (Score:1)
Arthur Bergman might still be working on Ponie, I'm not sure, but in any event I haven't heard any noises of activity coming out of the lab (stable?) for some time. Certainly nothing so far as p5p is concerned, nor any other of the various perl fora and lists I pay attention to.
But that's ok, we all know Perl is a volunteer-based operation.
Re: (Score:2)
As it's not my project, I've never been in a position to make any offical statements. However, TPF have made an offical statement on Ponie [perl.org]
OK, another stab... (Score:2)
A way of properly doing objects might actually speed things up a lot. If you could have a class with defined attributes so that when you access those attributes you don't have to go through a hash (or array even) you can get some decent performance improvements for object heavy systems (as fields.pm hints at).
Admittedly this doesn't affect boring benchmark applications, but it does help people whose day job it is building large scale apps with perl, and it
Re:OK, another stab... (Score:2)
This sounds like a lot of work. If someone want to volunteer to write such a thing, then great, patches welcome - although they should be warned that there can be no guarantee in advance that code will be accepted.
But I don't think that any of the current maintainers have a sufficient itch to scratch personally, so I cannot see such a project happening "by itself".
Re:OK, another stab... (Score:2)
Re:OK, another stab... (Score:2)
A right. I didn't pick up on this as an approach to solving the "make perl faster". I was seeing the requestor's desire more to be to make their existing perl code faster (at least, without substantial re-writes). And this seems more like a way to make new code faster.
In turn, such an approach might have the same "speedup" as pseudo-hashes. Offhand I don't know the URL to the analysis, but someone [Schwern, IIRC] demonstrated that the real 15% speedup that pseudo-hashes provided for
use fieldsover regulaRe:OK, another stab... (Score:2)
Classes need not be accessed through the hash API. I think of a class (or object) as another xV type, rather than another extension on SVs. But I know zip about the perl core - I'm purely speculating based on the little work I have done in XS.
I remember Schwern's analysis, but I also remember it being rather flawed because there's lots in later perls that slow it down (most notably unicode) that weren't taken into consid
Re:OK, another stab... (Score:1)
But you can use Moose or any other support modules without the v6.pm syntax sugar; if so, then it's ready even sooner.
Re:OK, another stab... (Score:1)
Re:OK, another stab... (Score:2)
In no way do I m
Re:OK, another stab... (Score:1)
It's true that Perl 6 will run on multiple interpreters (including Parrot, JavaScript and more), but it's the perl5 interpreter that will get us to an incrementally-deployed production soonest.
That is, the transition to Perl 6 will be no different to, say, the transition to DateTime.pm; modules start using it, or part of it, when it makes sense, but it doesn't need to be an all-of-nothing process. :-)
Re:OK, another stab... (Score:2)
and option #3 (Score:2)
Re:and option #3 (Score:1)
Only the new ones.
Re:and option #3 (Score:2)
Also for large systems there comes the tipping point where developer time actually becomes cheaper than the costs of machines, maintenance and rack space. It's these sort of entities who were asking the question.
Re:and option #3 (Score:2)
Re:and option #3 (Score:2)
It was firms with over 50,000 lines of perl code that were thinking about it, one of which I know is running code across several hundred servers. I doubt that re-writing the whole thing in C (or anything) is easy, as I'm guessing that the cost of validating that the behaviour is the same is prohibitive, but re-writing parts might well be, if those parts can be identified. But I think that both were thinking that it still might be easier to concentrate resources on the core, as that could speed up all code,
Re:and option #3 (Score:2)
Well, with something like that you have to consider so many other possible bottlenecks, especially since much of the clustering software, if that's what they're using, do exact a speed toll. I'd call them outright awful, but a few of them do actually manage to work on occasion.
And, given the pain and suffering involved with changing most anything in the perl core, *ahem*, I'd guess that rewriting large parts or the whole thing would be faster and far less hassle with a greater performance gain. Anyone w
Inline functions? (Score:2)
I know this comment is late, but I was wondering if it would be feasible to inline function calls to avoid the function call overhead? I remember chromatic mentioning that he looked into this and saw that the pads were going to slow it down regardless (I could be misremembering) and I suspect that the difficulty in distinguishing between methods and subroutines would make this idea pretty much dead, but if it was feasible, would this speed up Perl?
Re:Inline functions? (Score:2)
Well, you have to assume that the function isn't going to get dynamically redefined. (or even memoized [cpan.org]). So inlining would be more like macros than true functions. I think someone was mentioning this on p5p at some point, but I've no idea how evolved (or involved) the implementation would be.