SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 

perl-Proc-FastSpawn rpm build for : OpenSuSE. For other distributions click perl-Proc-FastSpawn.

Name : perl-Proc-FastSpawn
Version : 1.2 Vendor : obs://build_opensuse_org/home:illuusio
Release : lp154.6.1 Date : 2022-03-14 10:22:23
Group : Development/Libraries/Perl Source RPM : perl-Proc-FastSpawn-1.2-lp154.6.1.src.rpm
Size : 0.02 MB
Packager : https://www_suse_com/
Summary : fork+exec, or spawn, a subprocess as quickly as possible
Description :
The purpose of this small (in scope and footprint) module is simple: spawn
a subprocess asynchronously as efficiently and/or fast as possible.
Basically the same as calling fork+exec (on POSIX), but hopefully faster
than those two syscalls.

Apart from fork overhead, this module also allows you to fork+exec programs
when otherwise you couldn\'t - for example, when you use POSIX threads in
your perl process then it generally isn\'t safe to call fork from perl, but
it is safe to use this module to execute external processes.

If neither of these are problems for you, you can safely ignore this
module.

So when is fork+exec not fast enough, how can you do it faster, and why
would it matter?

Forking a process requires making a complete copy of a process. Even
thought almost every implementation only copies page tables and not the
memory itself, this is still not free. For example, on my 3.6GHz amd64 box,
I can fork a 5GB process only twenty times a second. For a real-time
process that must meet stricter deadlines, this is too slow. For a busy and
big web server, starting CGI scripts might mean unacceptable overhead.

A workaround is to use \'vfork\' - this function isn\'t very portable, but it
avoids the memory copy that \'fork\' has to do. Some systems have an
optimised implementation of \'spawn\', and some systems have nothing.

This module tries to abstract these differences away.

As for what improvements to expect - on the 3.6GHz amd64 box that this
module was originally developed on, a 3MB perl process (basically just perl
+ Proc::FastSpawn) takes 3.6s to run /bin/true 10000 times using fork+exec,
and only 2.6s when using vfork+exec. In a 22MB process, the difference is
already 5.0s vs 2.6s, and so on.

RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/home:/illuusio:/perl/15.4/x86_64

Content of RPM  Provides Requires

Download
ftp.icm.edu.pl  perl-Proc-FastSpawn-1.2-lp154.6.1.x86_64.rpm
     

Provides :
perl(Proc::FastSpawn)
perl-Proc-FastSpawn
perl-Proc-FastSpawn(x86-64)

Requires :
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
perl(:MODULE_COMPAT_5.26.1)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1


Content of RPM :
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Proc
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/Proc/FastSpawn.pm
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Proc
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Proc/FastSpawn
/usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi/auto/Proc/FastSpawn/FastSpawn.so
/usr/share/doc/packages/perl-Proc-FastSpawn
/usr/share/doc/packages/perl-Proc-FastSpawn/COPYING
/usr/share/doc/packages/perl-Proc-FastSpawn/Changes
/usr/share/doc/packages/perl-Proc-FastSpawn/README
/usr/share/man/man3/Proc::FastSpawn.3pm.gz

 
ICM