Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.4.137 -xjobs{=n|auto}

使用多个进程编译。如果未指定该标志,则缺省行为是 -xjobs=auto

指定 -xjobs 选项可设置编译器完成其任务需创建的进程数。在多 CPU 计算机上,该选项可以缩短生成时间。目前,-xjobs 只能与 -xipo 选项一起使用。如果指定 -xjobs=n,过程间优化器就将 n 作为其在编译不同文件时可调用的最大代码生成器实例数。

通常,n 的安全值等于 1.5 乘以可用处理器数。如果使用的值是可用处理器数的数倍,则会降低性能,因为有在产生的作业间进行的上下文切换开销。此外,如果使用很大的数值会耗尽系统资源(如交换空间)。

如果指定了 -xjobs=auto,则编译器将自动选择适当数量的并行作业。

指定 -xjobs 时务必要指定值。否则,会发出错误诊断并使编译终止。

如果未指定 -xjobs,则缺省行为是 -xjobs=auto。通过将 -xjobs=n 添加到命令行可覆盖该行为。出现最合适的实例之前,-xjobs 的多重实例在命令行上会互相覆盖。

3.4.137.1 -xjobs 示例

以下示例将与 -xipo 的最多三个并行进程链接:

% cc -xipo -xO4 -xjobs=3 t1.o t2.o t3.o

以下示例将与 -xipo 的一个进程串行链接:

% cc -xipo -xO4 -xjobs=1 t1.o t2.o t3.o

以下示例将与为 -xipo 选择作业数量的编译器并行链接:

% cc -xipo -xO4  t1.o t2.o t3.o

请注意,这与显式指定 -xjobs=auto 时的行为完全相同:

% cc -xipo -xO4 -xjobs=auto t1.o t2.o t3.o