Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我应该使用代码转换器(Python到C+;+;)吗?_C++_Python_Performance_Code Generation_Converter - Fatal编程技术网

C++ 我应该使用代码转换器(Python到C+;+;)吗?

C++ 我应该使用代码转换器(Python到C+;+;)吗?,c++,python,performance,code-generation,converter,C++,Python,Performance,Code Generation,Converter,让我马上说我不是程序员。我只是一个有想法的人,他正在迈出第一步,把它变成现实。请注意,我对编程并不陌生,但这里的一些概念和术语是我无法理解的;因此,如果这个问题在(即)之前得到回答,我提前表示歉意 我有一个想法,创建一个简单的人工智能网络来分析通过云计算从手机发送的音乐数据(我找了一个人来做云计算)。这将需要大量的内存,并且需要快速处理硬数字。我本来打算用python来做这件事,但后来知道这可能不是一个好主意() 因为python是我皮套里唯一的枪,所以我考虑使用python到C++的转换器。但

让我马上说我不是程序员。我只是一个有想法的人,他正在迈出第一步,把它变成现实。请注意,我对编程并不陌生,但这里的一些概念和术语是我无法理解的;因此,如果这个问题在(即)之前得到回答,我提前表示歉意

我有一个想法,创建一个简单的人工智能网络来分析通过云计算从手机发送的音乐数据(我找了一个人来做云计算)。这将需要大量的内存,并且需要快速处理硬数字。我本来打算用python来做这件事,但后来知道这可能不是一个好主意()

因为python是我皮套里唯一的枪,所以我考虑使用python到C++的转换器。但任何东西都是有代价的:

  • 这是保持代码快速的一种有利方法吗
  • 使用转换器的代价是什么
  • 我遗漏了什么吗?我还是个新手,所以我甚至不知道该问什么问题

  • 提前感谢。

    一般来说,编写代码是一种糟糕的方式,不能保证速度会更快。在一种语言中简单而快速的事情在另一种语言中可能复杂而缓慢。你最好学习如何快速写Python代码或学习C++,而不是和译者战斗,并找出如何使生成的代码运行得可接受。

    < P>类似于已经说过的,C++在某些领域可能更快,而在其他领域则更慢。Python完全相同。最终,任何语言都将被转换成机器代码。编译器最终将尽其所能提高效率。也就是说,最好选择一种语言,学习如何编写快速高效的代码来完成您想要的任务

    > P>如果你想要C++,请使用C++。但是请注意,PyPy有一系列的基准测试,表明它们可以比C快得多;有了使用编译扩展的NumPy,数值计算变得更快更容易

    如果你想用静态编译的东西编程,有点像Python,有RPython


    最后,您可以做NoMPY:使用在C或C++中扩展的大部分重计算提升,在那里看起来是适当的,或者是因为分析显示了热点,或者是因为您需要一个扩展来更容易地做一些涉及Python内部的事情。请注意,这会将您的代码绑定到特定的实现

    >P>No,因为良好的C++性能的显著部分来自选择性能更好的体系结构的可能性。它并不是神奇地来自同一个事实“因为它是C”


    一个简单的,从Python到C++的逐行翻译不太可能比使用类似的东西来提高性能,所以我认为使用Cython更合理。它仍然比一个好的开发人员能从头开始用C++做的更糟糕。C++只对可能的所有事情提供了更多的控制,定义最小需要长度的数据类型、堆栈上的固定大小数组、关闭生产中的数组边界检查等。

    考虑一下。如果有一个Python to C++转换器产生超快速代码,为什么这件事情不在Python解释器/编译器中?如果你想在C++中编写你的应用程序,出于性能原因,学习C++或者雇佣一个知道它的人。否则,你将没有任何类型的转换器的运气,如果这样的事情甚至存在。如果你想要C++…学习C++。单词的并列:“我不是程序员”和“我对编程不陌生”/“Python是我手枪中唯一的枪”,你想用哪种特定的Python到C++转换器?或者你在考虑自己编写,不知道任何C++?只有PyPy将它转换成机器代码;其他实现都使用字节码,剩下的部分留给VM。@伊格纳西奥:SeeSkCurd转换成C++,并编译成机器代码。此外,无论是VM将其转换为机器代码还是编译器将其转换为机器代码,都没有太大区别(因为VM可以分析正在运行的进程,所以VM可以做得更好)。那也没关系。