How to perform performance optimization on Python
Critics of Python claim that Python is inefficient and slow, but this is not the case: try these 6 tips to speed up your Python applications.
Python is a very cool language because very little Python code can do a lot of things in a short time, and Python easily supports multitasking and multiprocessing.
#py
1. Key codes can rely on extension packages
Python makes many programming tasks simple, but Doesn't always provide the best performance for very critical tasks. Using C, C++ or machine language extension packages to perform critical tasks can greatly improve performance. These packages are platform-dependent, meaning you must use packages specific to the platform you are using. In short, this solution provides some application portability in exchange for performance that you can only gain by programming directly to the underlying host. The following extension packages you can consider adding to your personal extension library:
Cython
PyInlne
PyPy
Pyrex
These packages have different functions and execution methods . For example, Pyrex makes it easy and efficient for Python to handle some memory tasks; PyInline allows you to directly use C code in Python applications. Although the inline code is compiled separately, if you can use the C code efficiently, it can be used at the same time. One place for everything.
2. Use keyword sorting
There are a lot of old Python codes that will spend extra time creating a custom sortingFunction. The best way to sort is to use keywords and the default sort() method, take a look at the following example:
import operator somelist = [(1, 5, 8), (6, 2, 4), (9, 7, 5)] somelist.sort(key=operator.itemgetter(0)) somelist #Output = [(1, 5, 8), (6, 2, 4), (9, 7, 5)] somelist.sort(key=operator.itemgetter(1)) somelist #Output = [(6, 2, 4), (1, 5, 8), (9, 7, 5)] somelist.sort(key=operator.itemgetter(2)) somelist #Output = [(6, 2, 4), (9, 7, 5), (1, 5, 8)],
The list of each case is sorted according to the index you choose as the keyword argument, this The method is also applicable to string and numerical sorting.
3. Optimizing loops
Every programming language emphasizes the optimization of loop statements, and Python is the same. Although you can rely on a wealth of techniques to make loops run faster, however, one method that developers often overlook is to avoid using dotted strings inside the loop. For the following example:
lowerlist = ['this', 'is', 'lowercase'] upper = str.upper upperlist = [] append = upperlist.append for word in lowerlist: append(upper(word)) print(upperlist) #Output = ['THIS', 'IS', 'LOWERCASE']
Every time str.upper is called, Python will find the value of this method. But if you put the evaluation result into a variable, you can improve the performance of the program. The key is to reduce the number of loops executed within Python, since Python is slower to parse these instances.
4. Use the new version
Anyone who searches for Python information online will find countless information about Python version migration. Usually, each version of Python has been optimized and improved on the previous version to make Python run faster. The limiting factor is whether your favorite library has been improved for the new version of Python.
When you use a new function library and get a new version of Python, you need to ensure that the code can still run, check the application, and correct the differences.
Then, if you just ensure that the application can run on the new version, you may miss the update of new features. Once you make improvements, configure your application under the new version, check for problem areas and prioritize updates with new features, users will see even greater performance improvements over previous upgrades.
5. Try a variety of programming methods
Every time you create an application, use the same programming method. In some cases, the program will run slower. Expectedly slow. Do some small experiments during the analysis. For example, when managing data items in a dictionary, you can use a safe method to determine whether the data item already exists and need to update it, or you can directly add the entry and then handle the case where the item does not exist at all.
n = 16 myDict = {} for i in range(0, n): char = 'abcd'[i%4] if char not in myDict: myDict[char] = 0 myDict[char] += 1 print(myDict)
The above code will usually run faster when myDict is empty. But when myDict is already filled with data, there is a better way to choose:
n = 16 myDict = {} for i in range(0, n): char = 'abcd'[i%4] try: myDict[char] += 1 except KeyError: myDict[char] = 1 print(myDict)
In both cases, output {'d': 4, 'c': 4, 'b': 4, 'a': 4}, the only difference is how the output is obtained. Thinking outside the box and creating new programming techniques can make your programs run faster.
6. Cross-compiler
Developers sometimes forget that the computer does not recognize any current application language, it only recognizes machine code. In order to run a program, an application is needed to convert human-readable code into code that the computer can understand. When writing a program in one language, such as Python, and then running it in another language, such as C++, it makes sense from a performance perspective. This depends on what you want to do with the application and what resources the host system can provide.
An interesting cross-compiler, Nuitka, can convert Python into C++ code. The result is that you can execute the application in native mode instead of relying on the interpreter. Depending on the platform and task, you may see significant performance improvements.
The above is the detailed content of How to perform performance optimization on Python. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

To run Python code in Sublime Text, you need to install the Python plug-in first, then create a .py file and write the code, and finally press Ctrl B to run the code, and the output will be displayed in the console.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Golang is better than Python in terms of performance and scalability. 1) Golang's compilation-type characteristics and efficient concurrency model make it perform well in high concurrency scenarios. 2) Python, as an interpreted language, executes slowly, but can optimize performance through tools such as Cython.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

Running Python code in Notepad requires the Python executable and NppExec plug-in to be installed. After installing Python and adding PATH to it, configure the command "python" and the parameter "{CURRENT_DIRECTORY}{FILE_NAME}" in the NppExec plug-in to run Python code in Notepad through the shortcut key "F6".
