Skip to Content
《高性能 Python》第二版
book

《高性能 Python》第二版

by Micha Gorelick, Ian Ozsvald
May 2025
Intermediate to advanced
468 pages
6h 20m
Chinese
O'Reilly Media, Inc.
Content preview from 《高性能 Python》第二版

序言

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

Python 很容易学。您之所以来这里,可能是因为您的代码运行正常,但您需要它运行得更快。您喜欢这样的事实:您的代码易于修改,您可以快速迭代各种想法。易于开发快速运行之间的权衡是一个众所周知且经常被抱怨的现象。有一些解决方案。

有些人的串行进程必须运行得更快。还有一些人的问题可以利用多核架构、集群或图形处理单元。有些人需要可扩展的系统,可以在不丧失可靠性的前提下,根据权宜之计和资金允许的程度进行或多或少的处理。还有一些人会意识到,他们的编码技术通常是从其他语言借鉴过来的,可能不如他们从其他语言中看到的例子那么自然。

在本书中,我们将涵盖所有这些主题,为了解瓶颈问题和制作更快、更具可扩展性的解决方案提供实用指导。 我们还将收录一些走在你前面的人的战争故事,他们承受了打击,所以你不必承受。

Python 非常适合快速开发、生产部署和可扩展系统。生态系统中有很多人正在努力为您扩展系统,让您有更多时间专注于身边更具挑战性的任务。

本书适合人群

您使用 Python 的时间已经足够长,因此知道某些东西为什么会变慢,也看到过 Cython、numpy 和 PyPy 等技术被讨论为可能的解决方案。您可能还使用过其他语言编程,因此知道解决性能问题的方法不止一种。

虽然本书主要针对CPU绑定问题的读者,但我们也关注数据传输和内存绑定的解决方案。通常,科学家、工程师、经济学家和学者都会遇到这些问题。

我们还探讨了网络开发人员可能面临的问题,包括数据移动和使用 PyPy 等即时 (JIT) 编译器以及异步 I/O 以轻松提高性能。

如果您有 C 语言(或 C++,或 Java)背景可能会有所帮助,但这并不是先决条件。Python 最常用的解释器 (CPython--通常在命令行输入python 就能得到的标准解释器) 是用 C 编写的,因此钩子和库都暴露了 C 的血腥内部机制。我们还将介绍许多其他技术,它们都不需要任何 C 语言知识。

您可能还需要了解 CPU、内存架构和数据总线等低级知识,但这并非绝对必要。

本书不适合人群

本书面向中高级 Python 程序员。有动力的 Python 新手程序员也可以跟读,但我们建议您有扎实的 Python 基础。

我们不涉及存储系统的优化。如果你有 SQL 或 NoSQL 瓶颈,那么本书可能帮不了你。

您将了解到

你们的作者多年来一直在工业界和学术界处理大量数据,要求更快地找到答案!并需要可扩展的架构。我们将努力传授我们来之不易的经验,使您避免重蹈我们的覆辙。

在每章的开头,我们都会列出下文应该回答的问题。(如果没有,请告诉我们,我们会在下一次修订时修正!)。

我们涵盖以下主题

  • 了解计算机机器的背景,从而了解幕后发生的事情

  • 列表和元组--这些基本数据结构在语义和速度上的微妙差异

  • 字典和集合--这些重要数据结构的内存分配策略和访问算法

  • 迭代器--如何以更 Python 的方式编写,并使用迭代打开无限数据流的大门

  • 纯 Python 方法--如何有效使用 Python 及其模块

  • 矩阵与numpy- 如何像野兽一样使用心爱的numpy

  • 编译和适时计算--通过编译为机器代码来加快处理速度,确保以剖析结果为指导

  • 并发--高效移动数据的方法

  • multiprocessing使用内置multiprocessing 库进行并行计算和高效共享numpy 矩阵的各种方法,以及进程间通信 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

《学习 Python》第 5 版

《学习 Python》第 5 版

Mark Lutz
ppk on JavaScript

ppk on JavaScript

Peter-Paul Koch

Publisher Resources

ISBN: 9798341657946