cat a.txt | xargs -I % echo %
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,xargs echo %用作命令参数.但在某些情况下,我需要多个命令来处理参数而不是一个.例如:
cat a.txt | xargs -I % {command1; command2; ... }
Run Code Online (Sandbox Code Playgroud)
但是xargs不接受这种形式.我知道的一个解决方案是我可以定义一个函数来包装命令,但它不是一个管道,我不喜欢它.还有其他解决方案吗?
关于GNU make中的作业数量是否应该等于核心数量似乎存在争议,或者如果您可以通过添加一个可以排队等待而其他人"工作"的额外作业来优化构建时间.
使用-j4或-j5四核系统更好吗?
您是否看过(或已完成)支持其中一种或哪种的基准测试?
这个问题可能有些奇怪,但我怎样才能加快g ++编译时间?我的C++代码大量使用boost和模板.我已经尽可能多地从头文件中移动并使用-j选项,但是编译(和链接)仍需要很长时间.
是否有任何工具可以分析我的代码并指出编译器的瓶颈?或者可以以某种方式分析在我的代码上运行的编译器?这将是非常好的,因为有时我有这样的印象,我花了太多时间盯着编译器控制台日志...
因此,当使用GCC编译大量源文件时,可以使用-j来使用所有可用内核.但链接器怎么样?是否有类似的选项来加速链接或GCC不支持多线程?在一些较大的项目中,它可能需要一段时间......(......我讨厌等待!)
编辑:感谢您指出-j是make的选项,而不是gcc/g ++.但这不能回答我的问题!我想知道gcc是否可以在链接程序时使用多线程!
Linux中是否有任何软件可以在多核或分布式系统上并行编译包含大量文件的源代码.像gcc或xserver这样的库需要很长时间才能在unicore/dual机器上进行编译,而且大多数情况下,当你需要大量的重新编译时它会令人沮丧.是否有任何并行编译此类源代码的技术?
我有一个 MAKE 编译过程,需要大约 1 小时才能完成。我使用了 -j 命令并能够将其减少到 40 分钟。我观察到的是 CPU 利用率很高,我的导师建议我将作业分配到我们组织可用的不同服务器或机器上。我读过 distcc 但它只能用于 c 代码,我们有 c 和 java 代码的混合。请建议我寻找合适的工具,这是最容易安装和部署的工具,因为我是唯一一个从事该项目的人。
规格 - 平台 - solaris-sparc 和 x86 也是
谢谢安吉特
makefile ×3
c++ ×2
linker ×2
bash ×1
c ×1
compilation ×1
distributed ×1
g++ ×1
gcc ×1
gnu-make ×1
gold-linker ×1
linux ×1
migration ×1
templates ×1
xargs ×1