几天前,我在Python中创建了一个程序,用于从Internet下载内容,执行HTTP POST
和GET
以及解析JSON
个对象。我注意到了一些缓慢的性能,我正在考虑使用另一种语言从头开始编写它,所以我开始用C ++编写它以使其更快。最后我放弃了,C ++不是为互联网制作的,而且很难让某些东西发挥作用。
我正在考虑尝试使用C#或Java,你会推荐吗? (我需要我的程序完全跨平台,其他编程语言也是有效的)
修改:您可以在此处查看源代码:http://code.google.com/p/grooveapi/
答案 0 :(得分:7)
用不同语言重写IO绑定应用程序不太可能对其执行速度产生任何影响。
答案 1 :(得分:2)
如果你需要它是跨平台的:(即你只需编写一次它就可以在任何地方运行)然后Java或Python是你唯一的选择。这是因为任何C变体都需要专门为您打算使用它的平台进行编译。
我的建议:我建议使用 Python 。我在大学接受过Java教育,并且自己学习过Python。 Python是我转向Web编程项目的语言(以更大规模的Django形式)以及我在其Web应用程序内部工作的公司使用的语言。
答案 2 :(得分:2)
在切换到另一种语言之前......您确定性能问题是由于语言本身造成的吗?很可能问题出在程序中,或网络延迟或任何其他原因。
在您仔细分析您的应用程序之前,不要责怪该语言,也许您在某处遇到了瓶颈。如果您在代码中发现问题,那么新开发的成本将始终非常高,特别是与几行更改相比。
答案 3 :(得分:0)
使用python时你是怎么注意到“性能低下”的?我的意思是,python很慢,没问题,但是对于你的用例它应该没关系。你有没有对代码进行分析?你可以在这里粘贴代码,这样我们可以看看并改进它吗?
答案 4 :(得分:0)
我不知道你在python中对你的程序有什么样的性能问题,但它通常对我很有用(脚本解析日志文件非常耗时,例如......)。 现在一切都取决于这个的一般目的。如果它只是一个脚本,没有gui等..那么你一定要考虑优化python,或做一些perl或php-cli脚本。 我不是第一手熟悉它,但红宝石似乎有一个很大的追随者,似乎非常“互联网”导向aswel。
如果你想创建一些不仅仅是脚本的东西,你有很多选择,c#就是其中之一,但它不是跨平台的,我会选择java。
最后我建议重新检查你的python代码,看起来奇怪的是它没有做你想要的性能明智...... python非常好。
答案 5 :(得分:0)
您应该选择您最满意的语言。在大多数情况下,脚本语言的性能不是瓶颈。让事情快速完成并保持可维护性更为重要。我建议你选择Ruby或Python。如果你必须更快地获得Python,你仍然可以选择使用像PyPy这样的JIT实现。实际上,像YouTube这样的高流量网络应用程序使用Python。
答案 6 :(得分:-1)
我会选择好的旧PHP!它已经一次又一次地证明,它不仅能够做到这一点,而且非常容易学习。
所以我的建议是:使用PHP!