擅长:python、mysql、java
<p>查看<a href="http://www.scipy.org/PerformancePython" rel="noreferrer">performance page created by the SciPy/NumPy folks</a>。有许多非常简单的附加功能,可以培养非常快的代码。其中包括(a)使用<code>weave</code>模块,尤其是<code>inline</code>和{<cd3>}选项。(b) 使用<a href="http://cython.org/" rel="noreferrer">Cython</a>用C编写一些函数,但能够在Python中调用和使用它们。在</p>
<p>我用Python做了大量关于统计、金融和(在研究生院)计算机视觉的大规模科学计算工作。Python之所以能很好地解决这类问题,并不是因为我的第一个简单的hack代码能够产生最快的解决方案,而是因为在Python中,我可以轻松地与大量其他任务交互。我可以轻松地为其他程序发布Linux命令,轻松地读取和解析大多数数据文件,轻松地与SQL和其他数据库软件进行接口;我拥有所有的R统计库可用,使用OpenCV命令(在C++中有很多更好的语法),以及更多。在</p>
<p>当我的任务是操纵一个新的数据集并把我的手弄脏,摸清数据的细微差别时,Python易于编程,加上matplotlib,使它变得更好。稍后,当我需要缩放的时候,我总是可以使用PycUDA,Cython,或者仅仅在C++中重写东西,如果需要高端性能。由于大多数机器现在都有多处理器,多处理模块以及MPI4PY允许我快速且廉价地将循环型任务烦人化为更短的任务,而不需要迁移到C++。在</p>
<p>简言之,Python真正的实用性并不是完全来自于语言本身,而是来自于对附加组件和附加组件的真正精通,这些插件和附加组件可以让您的一小部分常见问题在日常重要的数据集上快速执行。在</p>
<P>实时嵌入式通信软件将长期使用C++。高频交易策略也是如此。但话说回来,这些类型的专业解决方案并不是Python真正的目的。在<a href="http://queue.acm.org/detail.cfm?id=2038036" rel="noreferrer">some cases</a>中,人们总是喜欢用不寻常的方法来解决这个问题。在</p>