Home > Article > Backend Development > Is PHP not suitable for high concurrency?
PHP is not suitable for high concurrency?
PHP can solve high concurrency, but it cannot be said to be suitable. It is just weaker than other languages, such as Java and Go. However, after the release of PHP7, PHP performance has been greatly improved, and its performance is comparable to other languages. The gap between them is not very big, and it is even faster than some languages.
Some features of php7
PHP7 is going to break everything. PHP developers should accept the law of breaking backward compatibility between versions. As long as extensive backward compatibility is not allowed, PHP7 will be a highly respected language.
1. Create a specific core language. Remove all library methods and keep the core methods in the object set. You should be able to write PHP7 without any external libraries or extensions and a nice complete language for basic input/output, string handling and math. Any extension outside of the library should be approved.
2. Treat everything as an object. Take objects from Ruby, Smalltalk and (mainly) Java and treat it all as an object. Integers are objects, strings are objects, and each of them has methods that can be manipulated. I don't believe that PHP needs the notion of Ruby and Smalltalk to pass messages between objects, and calling methods on objects is the best.
3. Consistent naming of methods and classes Since one of the biggest complaints about PHP is constantly having to check, (needle,haystack) or (haystack, needle), or some_function(), or function_some(), or someFunction(), a consistent format needs to be developed.
4. To make things strictly try passing a float string into a method? This is a warning.
5. Everything is Unicode. All strings in PHP6 are Unicode, which is good. I advocate that PHP7 should also be maintained.
6. Central startup point Create a main class or initialization from which all code execution originates.
7. Clean up C code. I am not an expert in C, but if you know more about Ruby's C code and PHP's C code, you can easily understand the internals of PHP and Ruby. I'm very familiar with PHP, so writing my own extension is easier.
8. Get rid of eval() eval() is evil. If you are using it then this is a wrong idea: this will break PHPUnit, discarding it from the start.
9. Support operator overloading Because everything is an object, developers only need to master the methods of operating objects.
10. Allowed method signatures
PHP7 features
PHP 7.0.0 Alpha 1 uses the new version of ZendEngine engine, which brings many new features Features, the following is an incomplete list:
Performance improvement: PHP7 has twice the performance improvement than PHP5.6. Improved performance: PHP 7 is up to twice as fast as PHP 5.6
Full and consistent 64-bit support. Consistent 64-bit support
Many previous fatal errors were changed to throwing exceptions. Many fatal errors are now Exceptions
Removed some old SAPI (Server Side Application Programming Port) and extensions that are no longer supported. Removal of old and unsupported SAPIs and extensions
New null join operator has been added. The null coalescing operator (??)
Newly added combined comparison operator. Combined comparison Operator (<=>)
Newly added function return type declaration. Return Type Declarations
Newly added scalar type declarations. Scalar Type Declarations
Newly added anonymous classes. Anonymous Classes
Recommended tutorial: "PHP"
The above is the detailed content of Is PHP not suitable for high concurrency?. For more information, please follow other related articles on the PHP Chinese website!