Jython比Python更快吗?

6

我想编写一个小程序,用于通过RS232发送十六进制码。据我所见,Python是非常适合完成这个任务的语言。

3年前,在高中一年级计算机科学导论课上学习了Python,它的语法非常棒。它几乎像伪代码一样。

但是自从大一以来,我一直在使用Java、Objective-C(上帝保佑我的可怜灵魂)和C#。

无论如何,我想使用Python学习如何使用串行通信。现在我再次看到了Jython,它似乎是Python但使用了Java运行时(正确吗?)

对于发送十六进制码这样“小”的任务,我是否不会注意到使用Jython等内容而更喜欢使用好老的Python?

如果您要将我的问题投票下降,请至少告诉我为什么?--谢谢。


3
你应该一定使用带有pyserial的普通Python。 - TJD
好的,我会尝试一下。但为什么呢? - Sponge Bob
你是在说Java比Python更好吗? - lvella
不,它们是完全不同的语言。它们各有优点和缺点。如果我认为Java比Python更好,我会尝试用Java来做这件事。话虽如此,我确实认为Java是一种更高效的语言,可以更快地执行命令,并更有效地利用内存;对于像我这样的初学者编程人员来说。 - Sponge Bob
5
默认情况下,您应该偏向于常见的、经过充分验证的解决方案,除非您有足够的动机去偏离一些不常见的东西。听起来你没有任何理由考虑使用Jython。使用Jython会花费额外的时间/精力,增加问题的可能性,降低可移植性,在最后也不会更快。此外,如果您谈论使用RS232,则系统的其余速度是无关紧要的,因为RS232将远远成为瓶颈。 - TJD
2个回答

5

我决定使用项目的最内部循环来对比Jython、CPython和Pypy的性能。Jython比使用Cython加速的CPython稍慢,但比未加速的CPython快。总体而言,Jython在长时间进程中表现得相当快,但启动需要一段时间。

如果您想使用Jython,请放心使用。Python != CPython anymore.

以下是一个微基准测试的比较结果: http://stromberg.dnsalias.org/~strombrg/backshift/documentation/performance/index.html


4

如你所说,Jython是在JVM上实现的Python。详见Jython。 就我所知,它通常比CPython(也就是你所说的好老Python)慢。

Jython的真正优势在于它可以导入和使用任何Java类(.NET和IronPython同样适用)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接