【发布时间】:2011-01-28 22:19:29
【问题描述】:
我正在尝试优化我拥有的两个脚本之间的交互。 我想到的两件事是除非您手动杀死它,否则 c++ 程序不会终止,或者在将其提供给 c++ 之前在 python 中生成所有信息。
问题说明:
脚本的作用: C++ 程序(不是我做的,我不能很好地用 C++ 编程):接受一个 7 数字数组并返回一个数字,很简单。 Python 脚本(我的,我可以在 python 中编写一点程序):生成这 7 个数字数组,将它们提供给 c++ 程序,等待答案并将其添加到列表中。然后它制作下一个数组。
理论上,这是可行的。但是,就像现在一样,它会为每次调用打开和关闭 c++ 程序。对于一个没问题的阵列,但我正在尝试升级到 25k 阵列,并在未来升级到 6+ 百万阵列。显然,每次都打开/关闭它不再可行,尤其是因为 c++ 程序首先必须加载一个 130mb 的 VCD 文件才能运行。
我自己想到的两个选项是首先在 python 中生成所有数组,然后将它们提供给 c++ 程序,然后分析所有结果。但是,我不知道如何使用 6M 数组执行此操作。然而,我得到的结果与我输入的数组的顺序相同并不重要。
我想到的第二个选项是让 c++ 程序在每次调用后都不会退出。虽然我不能用 C++ 编程,所以我不知道这是否可能,保持它“活着”,这样你就可以不时将数组输入它并得到答案。
(注意:我不能用python以外的任何东西编程,我想用python做这个项目。c++程序由于速度原因不能翻译成python。)
提前致谢,马克斯。
【问题讨论】:
-
我感到原力大乱,仿佛数百万
C++
程序突然惊恐地大叫起来,突然沉默了。然后我想知道“代码在哪里?”,因为没有代码就没有真正的答案。 -
你以什么方式提供 C++ 程序(标准输入/标准输出上的管道)或套接字?。
-
到目前为止,我还没有一套将它提供给 c++ 的方法,我正在集思广益如何做到这一点,然后提出了这个问题。我基本上仍然需要围绕 c++ 程序编写整个“包装器”,到目前为止我只有那个和 python 数组生成器。
-
为什么需要一个 python 脚本和一个 C++ 程序来相互传递数字?您能否更具体地描述您的问题并提出问题?
-
你有C++程序的源码,还是只有编译好的程序?
标签: c++ python optimization interaction