2014 year ,Python Realization Pyston Be born .Pyston The goal is to develop high performance Python Realization , send Python Among the C++ And other areas dominated by traditional system level languages .
Pyston It was originally made by Dropbox Derived from JIT Of Python Realization .Pyston analysis Python Code , And switch to LLVM In the middle (IR), then IR adopt LLVM Optimizer and LLVM JIT engine , Get the executable machine code .
Six years later ,10 month 28 Japan Pyston The team has released the latest version ——Pyston v2.
Pyston v2: Than Python fast 20%
According to the official introduction , On the macro benchmark Pyston v2 Than Python 3.8 fast 20%. Except for the speed ,Pyston v2 It can also reduce server costs , Reduce user waiting time , Improve development productivity .
Besides ,Pyston v2 Easy to deploy . If you want to get better Python performance , It takes a little time to try to deploy Pyston.
performance
Pyston v2 There is a significant increase in speed on many workloads . Developers' research has always focused on Web On the server workload , but Pyston v2 Faster on other workloads and common benchmarks .
The development team put together a new public Python Macro benchmark Suite , The kit can measure several commonly used Python Project performance .
Pyston v2 Performance acceleration has also been shown on micro benchmarks . stay chaos.py and nbody.py And so on , Its speed is standard Python Of 2 times .
In the target benchmark (djangocms + flaskblogging) On ,Pyston v2 The average delay is achieved 1.22x Speed up 、p99 Delay 1.18x Speed up , And each process uses only a few more memory MB.
Technical methods
Pyston v2 The techniques used include :
- utilize DynASM The low cost of JIT;
- Quickening;
- Universal CPython Optimize ;
- Build process upgrade .
Compatibility
because Pyston yes CPython The branch of , So the development team thinks Pyston It's the most compatible Python Realization . It supports CPython All the features and C API.
Theoretically ,Pyston And CPython It has the same function , But in practice, any new Python Implementation will encounter some temporary compatibility problems . For details, see :https://github.com/pyston/pyston/wiki.
Usability
Pyston v2.0 Ready to use as a pre-set package . at present ,Pyston v2.0 Have the ability to apply to Ubuntu 18.04 and 20.04 x86_64 My bag .
Pyston It's easier to try , Install package , take python3 Replace with pyston3, And then use pip-pyston3 install Re install dependencies . When there is an automatic build setting , This change can be done in just a few lines .
Pyston The team says , Plan to open source code in the future , But because of the high cost and no sponsorship of the compiler project , So at present, the project is still closed source , but Pyston v1.0 The source code is open .
Be careful : If you're looking for python Well paid jobs . I suggest you write more about real enterprise projects and accumulate experience . Or you won't find a job , Of course, a lot of people have never been in a business , How can there be project experience ? So you have to find more enterprise projects and practice more . If you're lazy and don't want to find , You can also enter my Python Circle of communication :1156465813. There are some real enterprise project cases that I have written before in the group file . You can take it to study , If you don't understand, you can find me in your skirt , I'll answer you patiently when I have time .
The following is useless , For this blog to be crawled by search engines
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python What is it Zero basis to learn python How long will it take? python Why is it called a reptile
python Novice reptile tutorial python Crawler universal code python How do reptiles make money
python Basic course Web crawler python python Classic examples of reptiles
python Reptiles
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
The above is useless , For this blog to be crawled by search engines