On Tue, 2005-03-08 at 00:04 -0500, Uri Guttman wrote: > >>>>> "AS" == Aaron Sherman <[EMAIL PROTECTED]> writes: > > AS> On Mon, 2005-03-07 at 15:33 -0500, Uri Guttman wrote: > > >> >>>>> "AS" == Aaron Sherman <[EMAIL PROTECTED]> writes: > > >> see what i do in File::Slurp. i wanted a single error handling sub but > >> also to have the croak in there report back from the original call (say > >> read_file). > > AS> Tried that. Problem is File::Copy is the kind of thing that's going to > AS> be called often and fast, and there's nothing short of an eval that > AS> stops performance dead more than an subroutine call in Perl. Ah, Perl 6, > AS> where are you? > > did you do magic goto? it shouldn't be slow at it doesn't touch the > stack nor mung @_.
I've tried that. It helps, but sub overhead is still deadly all on its own, even without stack manipulation. Annoyingly, now that I go try to test it to see if it's still the same, I find that goto &foo breaks Benchmark :-( > i haven't benchmarked that aspect but file::slurp is > pretty fast. you could do worse than writing file::copy as > > write_file( $to, read_file( $from ) ) ; Check out File::Copy. It does basically that. With tons of special cases, of course, but still. It has a buffer (user-sizable), which it reads into in a single sysread, and then writes out to the new file, repeat until done. If you set the buffer size to >= the input file size, you have a slurp. > AS> Like I say, it'll be a (not so) fond memory once P6 takes over the > AS> world. > > i am waiting patiently (really!). I see that nail biting! Of course, people are starting to make library-writing noises now that PUGS exists, so P6 can't be THAT far off.... _______________________________________________ Boston-pm mailing list Boston-pm@mail.pm.org http://mail.pm.org/mailman/listinfo/boston-pm