Home Backend Development Python Tutorial How to perform performance optimization on Python

How to perform performance optimization on Python

Jun 28, 2017 pm 01:33 PM
python optimization performance

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)],
Copy after login

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']
Copy after login

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)
Copy after login

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)
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

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.

Choosing Between PHP and Python: A Guide Choosing Between PHP and Python: A Guide Apr 18, 2025 am 12:24 AM

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.

How to run sublime code python How to run sublime code python Apr 16, 2025 am 08:48 AM

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 and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

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 vs. JavaScript: The Learning Curve and Ease of Use Python vs. JavaScript: The Learning Curve and Ease of Use Apr 16, 2025 am 12:12 AM

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 vs. Python: Performance and Scalability Golang vs. Python: Performance and Scalability Apr 19, 2025 am 12:18 AM

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.

Where to write code in vscode Where to write code in vscode Apr 15, 2025 pm 09:54 PM

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.

How to run python with notepad How to run python with notepad Apr 16, 2025 pm 07:33 PM

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".

See all articles