使用多个进程编译。如果未指定该标志,则缺省行为是 -xjobs=auto。
指定 -xjobs 选项可设置编译器完成其任务需创建的进程数。在多 CPU 计算机上,该选项可以缩短生成时间。目前,-xjobs 只能与 -xipo 选项一起使用。如果指定 -xjobs=n,过程间优化器就将 n 作为其在编译不同文件时可调用的最大代码生成器实例数。
通常,n 的安全值等于 1.5 乘以可用处理器数。如果使用的值是可用处理器数的数倍,则会降低性能,因为有在产生的作业间进行的上下文切换开销。此外,如果使用很大的数值会耗尽系统资源(如交换空间)。
如果指定了 -xjobs=auto,则编译器将自动选择适当数量的并行作业。
指定 -xjobs 时务必要指定值。否则,会发出错误诊断并使编译终止。
如果未指定 -xjobs,则缺省行为是 -xjobs=auto。通过将 -xjobs=n 添加到命令行可覆盖该行为。出现最合适的实例之前,-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