gpt4 book ai didi

Java - 优化多个命令的调用

转载 作者:行者123 更新时间:2023-12-03 17:24:05 25 4
gpt4 key购买 nike

问题
从 Java 程序调用多个命令的最有效方法是什么?

背景
我和我的团队的任务是创建一个程序,该程序最终会在 UNIX 系统上调用一系列(从一百到一万,甚至更多)命令。这些命令不是简单的内置命令,而是已安装在机器上的软件的一部分。由于这些命令的工作量相当大,而性能是我们软件成功的关键因素,因此我一直在研究从 Java 调用多个命令的最有效方法。不幸的是,我还没有找到一个帖子、问题或论坛从性能角度讨论了多个命令的调用。

知识
我非常熟悉Java中的IO,并与Runtime一起工作过。 , Process , 和 ProcessBuilder之前上课。

我在找什么
我正在寻找有关如何最好地优化从 Java 程序中调用多个命令的高级或低级(仅伪,如果是低级,请)的解释。我无法在网上发布我们的代码,但我认为在这种情况下我们的代码不是必需的。为方便起见,假设我们调用的命令是 cmd ,它接受参数 -a arg0 -b arg1 .了解命令字符串在程序中较早生成并且不会根据其他调用的结果进行更改可能会有所帮助。了解所有调用的结果将是要添加到 ArrayList 的字符串也可能有所帮助。 .

非常感谢您的帮助。

最佳答案

我认为这里的主要问题是并行运行尽可能多的命令以并行运行。与命令管理方式的任何差异相比,这通常会在性能上产生更大的差异。

一般来说,我同意使用某种脚本的想法,并且让 Java 直接只运行脚本的解释器。

特别是在这种情况下,我有时会使用并行 make。 makefile 可以指定要运行的命令以及它们之间的任何依赖项。例如,在我需要进行数百次模拟的情况下,我制定了规则,使每个原始模拟报告都依赖于模拟控制文件,而处理后的报告则依赖于原始报告。

并行 make 可以使在失败后恢复工作变得容易和高效,而无需重做已成功完成的所有工作。它还可以管理将并行性限制为合理数量的线程。

关于Java - 优化多个命令的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14912182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com