幫助中心 | 我的帳號 | 關於我們

高性能Python(影印版第2版)(英文版)

  • 作者:(美)麥克·戈雷利克//(英)伊恩·奧茲瓦爾德|責編:張燁
  • 出版社:東南大學
  • ISBN:9787564194932
  • 出版日期:2021/05/01
  • 裝幀:平裝
  • 頁數:444
人民幣:RMB 148 元      售價:
放入購物車
加入收藏夾

內容大鋼
    你的Python代碼也許運行正確,但是你需要運行得更快。本書經過拓展后的新版向你展示了如何在高數據量程序中定位性能瓶頸,顯著提高代碼速度。通過探索設計選擇背後的基礎理論,《高性能Python》將幫助你更深入地理解Python的實現。該如何利用多核架構和集群?或者該如何構建能夠自由伸縮同時又不失可靠性的系統?有經驗的Python程序員會學到很多問題的具體解決方案,了解到各個公司如何將高性能Python應用於社交媒體分析、產品機器學習等場景的曲折故事。

作者介紹
(美)麥克·戈雷利克//(英)伊恩·奧茲瓦爾德|責編:張燁

目錄
Foreword
Preface
1.Understanding Performant Python
  The Fundamental Computer System
  Computing Units
  Memory Units
  Communications Layers
  Putting the Fundamental Elements Together
  Idealized Computing Versus the Python Virtual Machine
  So Why Use Python?
  How to Be a Highly Performant Programmer
  Good Working Practices
  Some Thoughts on Good Notebook Practice
  Getting the Joy Back into Your Work
2.Profiling to Find Bottlenecks.
  Profiling Efficiently
  Introducing the Julia Set
  Calculating the Full Julia Set
  Simple Approaches to Timing—print and a Decorator
  Simple Timing Using the Unix time Command
  Using the cProfile Module
  Visualizing cProfile Output with SnakeViz
  Using line_profiler for Line-by-Line Measurements
  Using memory_profiler to Diagnose Memory Usage
  Introspecting an Existing Process with PySpy
  Bytecode: Under the Hood
  Using the dis Module to Examine CPython Bytecode
  Different Approaches, Different Co mplexity
  Unit Testing During Optimization to Maintain Correctness
  No-op @profile Decorator
  Strategies to Profile Your Code Successfully
  Wrap-Up
3.Lists and Tuples
  A More Efficient Search
  Lists Versus Tuples
  Lists as Dynamic Arrays
  Tuples as Static Arrays
  Wrap-Up
4.Dictionaries and Sets.
  How Do Dictionaries and Sets Work?
  Inserting and Retrieving
  Deletion
  Resizing
  Hash Functions and Entropy
  Dictionaries and Namespaces
  Wrap-Up
5.Iterators and Generators.
  Iterators for Infinite Series
  Lazy Generator Evaluation
  Wrap-Up

6.Matrix and Vector Computation.
  Introduction to the Problem
  Aren't Python Lists Good Enough?
  Problems with Allocating Too Much
  Memory Fragmentation
  Understanding perf
  Making Decisions with perf's Output
  Enter numpy
  Applying numpy to the Diffusion Problem
  Memory Allocations and In-Place Operations
  Selective Optimizations: Finding What Needs to Be Fixed
  numexpr: Making In-Place Operations Faster and Easier
  A Cautionary Tale: Verify 「Optimizations"(scipy)
  Lessons from Matrix Optimizations
  Pandas
  Pandas's Internal Model
  Applying a Function to Many Rows of Data
  Building DataFrames and Series from Partial Results Rather than
  Concatenating
  There's More Than One (and Possibly a Faster) Way to Do a Job
  Advice for Effective Pandas Development asu
  Wrap-Up
7.Compiling to C.
  What Sort of Speed Gains Are Possible?
  JIT Versus AOT Compilers
   Why Does Type Information Help the Code Run Faster?
  Using a C Compiler
  Reviewing the Julia Set Example
  Cython
  Compiling a Pure Python Version Using Cython
  pyximport
  Cython Annotations to Analyze a Block of Code
  Adding Some Type Annotations
  Cython and numpy
  Parallelizing the Solution with OpenMP on One Machine
  Numba
  Numba to Compile NumPy for Pandas
  PyPy
  Garbage Collection Differences
  Running PyPy and Installing Modules
  A Summary of Speed Improvements
  When to Use Each Technology
  Other Upcoming Projects
  Graphics Processing Units (GPUs)
  Dynamic Graphs: PyTorch
  Basic GPU Profiling
  Performance Considerations of GPUs
  When to Use GPUs
  Foreign Function Interfaces
  ctypes

  cffi
  f2py
  CPython Module
  Wrap-Up
8.Asynchronous l/0.
9.The multiprocessing Module.
10.Clusters and Job Queues
11.Using Less RAM.
12.Lessons from the Field.
Index

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032