Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MCE::Util(3)	      User Contributed Perl Documentation	  MCE::Util(3)

NAME
       MCE::Util - Utility functions

VERSION
       This document describes MCE::Util version 1.874

SYNOPSIS
	use MCE::Util;

DESCRIPTION
       A utility module	for MCE. Nothing is exported by	default. Exportable is
       get_ncpu.

   get_ncpu()
       Returns the number of logical (online/active/enabled) CPU cores;	never
       smaller than one.

	my $ncpu = MCE::Util::get_ncpu();

       Specifying 'auto' for max_workers calls MCE::Util::get_ncpu
       automatically.  MCE 1.521 sets an upper-limit when specifying 'auto'.
       The reason is mainly to safeguard apps from spawning 100	workers	on a
       box having 100 cores.  This is important	for apps which are IO-bound.

	use MCE;

	## 'Auto' is the total # of logical cores (lcores) (8 maximum, MCE 1.521).
	## The computed	value will not exceed the # of logical cores on	the box.

	my $mce	= MCE->new(

	max_workers => 'auto',	     ##	 1 on HW with 1-lcores;	 2 on  2-lcores
	max_workers =>	16,	     ##	16 on HW with 4-lcores;	16 on 32-lcores

	max_workers => 'auto',	     ##	 4 on HW with 4-lcores;	 8 on 16-lcores
	max_workers => 'auto*1.5',   ##	 4 on HW with 4-lcores;	12 on 16-lcores
	max_workers => 'auto*2.0',   ##	 4 on HW with 4-lcores;	16 on 16-lcores
	max_workers => 'auto/2.0',   ##	 2 on HW with 4-lcores;	 4 on 16-lcores
	max_workers => 'auto+3',     ##	 4 on HW with 4-lcores;	11 on 16-lcores
	max_workers => 'auto-1',     ##	 3 on HW with 4-lcores;	 7 on 16-lcores

	max_workers => MCE::Util::get_ncpu,   ## run on	all lcores
	);

       In summary:

	1. Auto	has an upper-limit of 8	in MCE 1.521 (#	of lcores, 8 maximum)
	2. Math	may be applied with auto (*/+-)	to change the upper limit
	3. The computed	value for auto will not	exceed the total # of lcores
	4. One can specify max_workers explicitly to a hard value
	5. MCE::Util::get_ncpu returns the actual # of lcores

ACKNOWLEDGMENTS
       The portable code for detecting the number of processors	was adopted
       from Test::Smoke::SysInfo.

INDEX
       MCE, MCE::Core

AUTHOR
       Mario E.	Roy, <marioeroyA ATA gmailA DOTA com>

perl v5.32.1			  2020-08-18			  MCE::Util(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | ACKNOWLEDGMENTS | INDEX | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MCE::Util&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help