Unix 有效使用bin/exe 我有一个C++程序,用一个客户机共享可执行文件。该程序基本上使用一些第三方安全库来生成代码,并给出一个输入值
作为测试,我们向他们提供了一份200万条输入的清单。他们正在unix中编写一个脚本,打开文件读取输入,每次加载带有输入参数的可执行文件 这是一次性的事情,但是他们会问是否有其他有效的方法通过脚本实现这一点。只是好奇在unix中是否有一种方法可以加速这个过程 以下是他们正在使用的unix脚本。。。。 这里有什么低效的东西能让他们用得更快吗Unix 有效使用bin/exe 我有一个C++程序,用一个客户机共享可执行文件。该程序基本上使用一些第三方安全库来生成代码,并给出一个输入值,unix,Unix,作为测试,我们向他们提供了一份200万条输入的清单。他们正在unix中编写一个脚本,打开文件读取输入,每次加载带有输入参数的可执行文件 这是一次性的事情,但是他们会问是否有其他有效的方法通过脚本实现这一点。只是好奇在unix中是否有一种方法可以加速这个过程 以下是他们正在使用的unix脚本。。。。 这里有什么低效的东西能让他们用得更快吗 #!/usr/bin/ksh for input in `cat test_input.txt` do echo ${input} `my_script$
#!/usr/bin/ksh
for input in `cat test_input.txt`
do
echo ${input} `my_script${input}`
done
# The End
这不是unixshell脚本,但是像python这样的脚本语言也适用于这种类型的东西(默认情况下,大多数基于unix的计算机上都使用这种语言)
如果需要,您也可以让它使用管道stdout和/或stderr。您可以看看我的脚本,看看是否有办法提高效率吗?有没有像cat这样的操作会导致它变慢?我不知道。您可以通过让它连续地为每个核心生成一个进程来加快速度,但这并不是那么容易做到的(并且只有当您生成的程序需要一段时间时才值得,对于一次性程序来说可能不值得)。
#!/usr/bin/python
import subprocess
with open('inputfile.txt', 'r') as f:
for line in f.readlines():
retcode = subprocess.call(['execname', line])
print retcode