Home  >  Article  >  Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

藏色散人
藏色散人forward
2019-10-31 11:33:325478browse

Let’s take a look at the specific data pictures first:

Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

Let’s analyze:

I I read a lot of people’s answers!

Answer 1:

In fact, it’s not that Python is slow, but that PHP is too fast. Just like you can’t say that Kobe is worse, it’s just that Jordan is too good.

Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

Answer 2:

C and Python are faster than C of course. Most of the PHP functions used in this test are provided by the language itself, and these functions are written in C. Python On the contrary, most functions are written in Python. This test only proves that PHP is faster than Python for this feature. It cannot explain the speed of the language itself. If you want to prove the speed of the language itself, the test code should run in the code of this language most of the time.

Answer 3:

It is faster to adjust C in Python. You need to use a high-performance place to independently make C modules. In contrast, nodejs can only use tcp, stdio and other methods to communicate with the c of another process. (If there are other methods, please point out the performance, whether to use c or not, there is a big difference.

Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

PHP and Python (CPython) currently do not have JIT, so PHP can only win. The performance of the underlying VM is better than that of Python.

In fact, the official PHP language development team has been optimizing the performance of the VM since the 5.4 era. The PHP7 version has greatly transformed the underlying data structure, which is improved compared to 5.6 More than 1 times the performance. Compared with Python 2, Python 3 is regressing in performance.

In intensive computing scenarios, static languages ​​and dynamic languages ​​with JIT will have great advantages. You can see that Node The test results of .js (based on V8 engine) far exceed those of PHP and Python. The calculation instructions of the former are directly executed as CPU instructions, while the calculations of the latter are actually high-level instructions on the VM, and the implementation principles are very different.

However, PHPers, don’t be discouraged. The official PHP development team is already developing JIT features. Maybe the next version of PHP will carry JIT, which will be on the same order of magnitude as Node.js in intensive computing scenarios.

Both are dynamic languages, why is PHP so much faster than Python? Reason analysis

In addition, PHP, Python, and Node.js are all used to write application software, and the computing performance of the language is not that important. If your program is sensitive to performance, C /C /GO/Rust These static programming languages ​​are the best choice.

Statement:
This article is reproduced at:toutiao.com. If there is any infringement, please contact admin@php.cn delete