我正在研究基于 PyFuzzy (Python) 或 FFLL (C++) 库实现模糊逻辑 Controller 。
我更喜欢使用 python,但不确定性能是否可以在它将工作的嵌入式环境中接受(ARM 或嵌入式 x86 proc 都是 ~64Mbs RAM)。
主要关注的是响应时间尽可能快(5hz+ 的更新率是理想的 >2Hz 是必需的)。该系统将从一个 RS232 端口的多个(可能是 5 个)传感器读取数据,并根据模糊评估的结果提供 2/3 的输出。
我是否应该担心 Python 对于这项任务来说太慢了?
最佳答案
一般来说,在您真正看到它成为一个问题之前,您不应该过度关注性能。由于我们不知道您的应用程序的详细信息,因此我们无法说明如果用 Python 实现它会如何执行。由于您还没有实现它,所以您也不能。
首先实现您最熟悉且实现速度最快的版本。然后对其进行基准测试。 如果速度太慢,您有三个选项,应该按顺序执行:
- 首先,优化您的 Python 代码
- 如果这还不够,请用 C/C++ 编写对性能最关键的函数,然后从您的 Python 代码中调用它
- 最后,如果您真的需要顶级性能,您可能不得不用 C++ 重写整个东西。但是至少你会有一个 Python 的工作原型(prototype),你会对它应该如何实现有一个更清晰的想法。您将知道要避免哪些陷阱,并且您将拥有一个已经正确的实现来测试和比较结果。
关于python - Python 的性能是否物有所值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498155/