大量参数会影响ksh或bash脚本的性能吗?

大量参数会影响ksh或bash脚本的性能吗?,bash,performance,shell,arguments,ksh,Bash,Performance,Shell,Arguments,Ksh,我正在运行一个KornShell脚本,它最初有61个输入参数: ./runOS.ksh 2.8409 24 40 0.350 0.62917 8 1 2 1.00000 4.00000 0.50000 0.00 1 1 4900.00 1.500 -0.00800 1.500 -0.00800 1 100.00000 20.00000 4 1.0 0.0 0.0 0.0 1 90 2 0.10000 0.10000 0.10000 1.500 -0.008 3.00000 0.34744 1.5

我正在运行一个KornShell脚本,它最初有61个输入参数:

./runOS.ksh 2.8409 24 40 0.350 0.62917 8 1 2 1.00000 4.00000 0.50000 0.00 1 1 4900.00 1.500 -0.00800 1.500 -0.00800 1 100.00000 20.00000 4 1.0 0.0 0.0 0.0 1 90 2 0.10000 0.10000 0.10000 1.500 -0.008 3.00000 0.34744 1.500 -0.008 1.500 -0.008 0.15000 0.21715 1.500 -0.008 0.00000 1 1.334 0 0.243 0.073 0.642 0.0229 38.0 0.03071 2 0 15 -1 20 1
我只改变了其中的6个。如果我修复了脚本中剩余的55个参数,只调用变量,比如:

./runOS.ksh 2.8409 24 40 0.350 0.62917 8

如果有人对此有一个快速/通用的答案,我们将不胜感激,因为修复脚本中的55个额外参数可能需要很长时间,而且我担心它不会改变任何事情。

正如您所问,这不会影响性能,但我看到其他线程:

  • 您的系统的命令行限制是什么?您提到了61个输入参数,其中一些参数的长度为8个字符。如果输入参数的数量增加,则最大命令长度可能会出现问题
  • 您正在执行4.4亿个脚本吗?太多了,太多了。你需要考虑你为什么这样做:你提到需要等待153天才能完成,这太多了(不可预测)。

正如您所问,没有性能影响,但我看到其他线程:

  • 您的系统的命令行限制是什么?您提到了61个输入参数,其中一些参数的长度为8个字符。如果输入参数的数量增加,则最大命令长度可能会出现问题
  • 您正在执行4.4亿个脚本吗?太多了,太多了。你需要考虑你为什么这样做:你提到需要等待153天才能完成,这太多了(不可预测)。

如果不进一步了解您的脚本及其使用方法,我无法确定,但我要说的是,它不太可能提高性能。如果您对值执行相同的操作,只需更改它们的来源,差异将可以忽略不计。唯一真正的问题是,由于参数和环境变量共享同一内存块,因此如此多的参数(或者更确切地说,所有参数的组合长度)可能会对允许的参数/环境大小限制较低的操作系统造成问题。对于61个参数来说,性能改进可能可以忽略不计。我曾经有一个包含2^8个参数的脚本,从来没有遇到过问题。但作为重构的一部分,我将脚本更改为使用标志,并将参数列表设置为10以下(很久以前,不记得了),运行system()调用可能是这段时间的一部分。如果你需要运行它很多次,也许考虑使用输入和输出文件。我不知道,不知道更多关于你的脚本和它是如何使用,但我会说这是不太可能改善性能。如果你做同样的事情与价值观,只是改变他们来自哪里,唯一真正的问题是,因为参数和环境变量共享同一块内存,所以这许多参数(或者更确切地说,是所有参数的组合长度)对于允许的参数/环境大小限制较低的操作系统,可能会造成问题。对于61个参数,性能改进可能可以忽略不计。我曾经有一个包含2^8个参数的脚本,从来没有遇到过问题。但作为重构的一部分,我将脚本更改为使用标志,并将参数列表设置为10以下(很久以前,不记得了),运行system()调用可能是这段时间的一部分。如果需要多次运行,也许考虑使用输入和输出文件。