Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: File::Copy or system

by Riales (Hermit)
on Sep 28, 2011 at 17:26 UTC ( #928374=note: print w/ replies, xml ) Need Help??


in reply to File::Copy or system

I don't know anything about the security aspect of it, but I was curious about which one was faster, so I ran a benchmark...

Copying about 1.5MB:

Benchmark: running File::Copy::cp($a, $b), system('cp', $a, $b) for at + least 3 CPU seconds... File::Copy::cp($a, $b): 4 wallclock secs ( 0.17 usr + 3.18 sys = 3. +35 CPU) @ 339.70/s (n=1138) system('cp', $a, $b): 29 wallclock secs ( 0.13 usr 3.21 sys + 1.43 c +usr 24.26 csys = 29.03 CPU) @ 965.27/s (n=3224)

I'd like to admit that I don't quite know how to parse the results. It looks like the system command incurs a 1.43 cusr and 24.26 csys penalty--what is that?


Comment on Re: File::Copy or system
Download Code
Re^2: File::Copy or system
by Marshall (Prior) on Oct 03, 2011 at 23:58 UTC
    File::Copy will be a native port and will expressed in terms of 'C' calls to the underlying O/S functions. 'C' functions will be called via .DLL's or .so's to do the job without needing a separate processes or programs.

    The end result is that Perl can copy or move a file faster than the command line shell (like bash, etc) can do it because there is no bash interpreter! (a separate program that has to get started and there are inefficiencies with that...).

    Your result is not surprising and is expected.

    A simple Perl program can beat the heck out of MS XCOPY.

    Well written Perl runs very quickly.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://928374]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2014-09-21 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (176 votes), past polls