Options.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:SoCFoundationFlow 作者: mattaw 项目源码 文件源码
def jobs(self):
        """
        Find the amount of cpu cores to set the default amount of tasks executed in parallel. At
        runtime the options can be obtained from :py:const:`waflib.Options.options` ::

            from waflib.Options import options
            njobs = options.jobs

        :return: the amount of cpu cores
        :rtype: int
        """
        count = int(os.environ.get('JOBS', 0))
        if count < 1:
            if 'NUMBER_OF_PROCESSORS' in os.environ:
                # on Windows, use the NUMBER_OF_PROCESSORS environment variable
                count = int(os.environ.get('NUMBER_OF_PROCESSORS', 1))
            else:
                # on everything else, first try the POSIX sysconf values
                if hasattr(os, 'sysconf_names'):
                    if 'SC_NPROCESSORS_ONLN' in os.sysconf_names:
                        count = int(os.sysconf('SC_NPROCESSORS_ONLN'))
                    elif 'SC_NPROCESSORS_CONF' in os.sysconf_names:
                        count = int(os.sysconf('SC_NPROCESSORS_CONF'))
                if not count and os.name not in ('nt', 'java'):
                    try:
                        tmp = self.cmd_and_log(['sysctl', '-n', 'hw.ncpu'], quiet=0)
                    except Exception:
                        pass
                    else:
                        if re.match('^[0-9]+$', tmp):
                            count = int(tmp)
        if count < 1:
            count = 1
        elif count > 1024:
            count = 1024
        return count
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号