python高性能目录_Python高性能(第2版)

内容提要

本书主要介绍如何让Python程序发挥强大性能,内容涵盖针对数值计算和科学代码的优化,以及用于提高Web服务和应用响应速度的策略。具体内容有:基准测试与剖析、纯粹的Python优化、基于NumPy和Pandas的快速数组操作、使用Cython获得C语言性能、编译器探索、实现并发性、并行处理、分布式处……

前言

最近几年,Python编程语言的人气急剧上升,其直观而有趣的语法及大量质量上乘的第三方库居功至伟。很多大学的编程入门和进阶课程,以及科学和工程等数值密集型领域,都选择将Python作为编程语言,它还被用于编写机器学习应用程序、系统脚本和Web应用程序。大家普遍认为,Python解释器参考版CPyt……

致谢

感谢Packt出版社Vikas Tiwari等编辑的支持;感谢我的女朋友Harani忍受我长时间挑灯写作;感谢朋友们自始至终的陪伴和支持;还要感谢父母给我机会追求自己的理想。最后,感谢百怡咖啡赋予我写作本书的动力。……

第1章 基准测试与剖析

就提高代码速度而言,最重要的是找出程序中速度缓慢的部分。所幸在大多数情况下,导致应用程序速度缓慢的代码都只占程序的很小一部分。确定这些关键部分后,就可专注于需要改进的部分,避免将时间浪费于微优化。通过剖析(profiling),可确定应用程序的哪些部分消耗的资源最多。剖析器(profiler)是这……

第2章 纯粹的Python优化

前一章说过,要改善应用程序的性能,最有效的方式之一是使用更合适的算法和数据结构。Python标准库提供了大量现成的算法和数据结构,你可在应用程序中直接使用它们。有了本章介绍的工具,你就能够使用合适的算法来完成任务,从而极大地提升速度。虽然很多算法历史悠久,但它们在当今世界依然适用,这是因为我们在不……

第3章 使用NumPy和Pandas快速执行数组操作

NumPy是Python科学计算的事实标准,它让Python支持灵活的多维数组,让数学计算快速而简明。NumPy提供了一些常用的数据结构和算法,让你能够使用简明的语法来表示复杂的数学运算。在内部,多维数组numpy.ndarray是基于C语言数组的。这种选择除了可以提高性能,还让NumPy代码能够……

第4章 使用Cython获得C语言性能

Cython是一种扩展Python的语言,这是通过支持给函数、变量和类声明类型来实现的。这些类型声明让Cython能够将Python脚本编译成高效的C语言代码。Cython还可充当Python和C语言之间的桥梁,因为它提供了易于使用的结构,让你能够编写到外部C和C++例程的接口。本章介绍如下主题:……

第5章 探索编译器

Python是一款使用广泛而且成熟的语言,因此人们有很大的动力去改进它的性能,办法是直接将函数和方法编译成机器码,而不是在解释器中执行指令。第4章介绍了一个这样的例子,它通过声明类型、编译成高效的C代码并避免解释器调用来改善Python代码。本章将探索两个项目——Numba和PyPy,它们以与Cy……

第6章 实现并发性

本书前面探索了如何测量程序的性能,以及如何通过巧妙的算法和高效的机器码来减少CPU执行的操作数,进而改善程序的性能。在有些程序中,大部分时间都花在等待速度比CPU慢得多的资源(如永久性存储和网络资源)上,本章将把注意力转向这样的程序。异步编程是一种编程范式,可帮助你处理速度缓慢且不可预测的资源(如……

第7章 并行处理

通过使用多核进行并行处理,无须速度更快的处理器,就可让程序在给定时间内执行更多的计算。这里的主要理念是将问题划分成独立的子单元,并使用多个内核并行地处理这些子单元。对处理大型问题来说,并行处理必不可少。公司每天都生成海量的数据,需要存储在多台计算机中并进行分析。科学家和工程师在超级计算机上运行并行……

第8章 分布式处理

前一章介绍了并行处理的概念以及如何利用多核处理器和GPU,现在我们再进一步,将注意力转向分布式处理——通过在多台计算机中执行任务来解决问题。本章将阐述在计算机集群中运行代码的挑战、用例和示例。Python提供了易于使用且可靠的分布式处理包,让我们能够轻松地实现可伸缩的容错代码。本章介绍如下主题:……

第9章 高性能设计

在前几章,我们学习了如何使用Python标准库和第三方包中的各种工具,来评估和改善Python应用程序的性能。本章将提供有关如何设计各种应用程序的一般性指南,并演示一些被多个Python项目采用的最佳实践。本章介绍如下主题:为普通应用程序、数值计算应用程序和大数据应用程序选择合适的性能优化策略;……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值