【发布时间】:2016-06-16 01:43:32
【问题描述】:
我只是好奇为什么在 C++ 中找到最大值比在 Python3 中更快。这是我的两种语言的代码的 sn-p:
C++:
int main() {
int arr[] = {45, 67, 89};
int temp = 0;
for(int n = 0; n < 3; n++) {
if(arr[n] > temp)
temp = arr[n];
}
cout << "Biggest number: " << temp << endl;
}
Python:
def Main():
numbers = ['87', '67', '32', '43']
print(max(numbers))
if __name__ == "__main__":
Main()
正如代码中所示,与在 Python 中使用 max() 方法相比,我通过循环数组中的每个元素来找到 C++ 中的最大值。
然后我在终端上运行代码以查找它们的执行时间,发现大约需要 0.006s(C++) 和 0.032s(Python)。有没有办法进一步缩短 Python 的执行时间?
【问题讨论】:
-
"在 C++ 中查找最大值比在 Python3 中慢" ...这与您的数据所说的相反。
-
您不妨使用
std::max_element来匹配不涉及重新发明代码的Python 单线。 -
您是否使用启用了优化的编译代码对此进行了测试?如果没有,这是没有意义的。请发布您用于编译示例的命令行。如果是 Visual Studio,请创建“发布”版本,而不是“调试”版本。
标签: c++ python-3.x execution-time