Cargando…

High performance python : practical performant programming for humans /

Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performanc...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Gorelick, Micha (Autor), Ozsvald, Ian (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Beijing ; Boston : O'Reilly, 2020.
Edición:Second edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000 i 4500
001 OR_on1153835314
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu---unuuu
008 200509s2020 cc ob 001 0 eng d
040 |a EBLCP  |b eng  |e rda  |e pn  |c EBLCP  |d YDX  |d N$T  |d OCLCF  |d YDXIT  |d UMI  |d AJB  |d BNG  |d OCLCQ  |d UKAHL  |d CZL  |d OCLCQ  |d OCLCO  |d KSU  |d TEFOD  |d OCLCQ  |d OCLCO 
019 |a 1153277461  |a 1153778251  |a 1155055363  |a 1156375975  |a 1176487739  |a 1181794612 
020 |a 9781492054993  |q (electronic book) 
020 |a 1492054992  |q (electronic book) 
020 |a 9781492054979  |q (electronic book) 
020 |a 1492054976  |q (electronic book) 
020 |z 9781492055020 
020 |z 1492055026 
029 1 |a AU@  |b 000071521005 
029 1 |a AU@  |b 000073549741 
035 |a (OCoLC)1153835314  |z (OCoLC)1153277461  |z (OCoLC)1153778251  |z (OCoLC)1155055363  |z (OCoLC)1156375975  |z (OCoLC)1176487739  |z (OCoLC)1181794612 
037 |a CL0501000111  |b Safari Books Online 
037 |a 000BD165-ECF8-4AAF-9B16-2BBBE5132EB7  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a QA76.73.P98  |b G67 2020 
082 0 4 |a 005.13/3  |2 23 
049 |a UAMI 
100 1 |a Gorelick, Micha,  |e author. 
245 1 0 |a High performance python :  |b practical performant programming for humans /  |c Micha Gorelick and Ian Ozsvald. 
250 |a Second edition. 
264 1 |a Beijing ;  |a Boston :  |b O'Reilly,  |c 2020. 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
505 0 |a Intro -- Copyright -- Table of Contents -- Foreword -- Preface -- Who This Book Is For -- Who This Book Is Not For -- What You'll Learn -- Python 3 -- Changes from Python 2.7 -- License -- How to Make an Attribution -- Errata and Feedback -- Conventions Used in This Book -- Using Code Examples -- O'Reilly Online Learning -- How to Contact Us -- Acknowledgments -- Chapter 1. Understanding Performant Python -- The Fundamental Computer System -- Computing Units -- Memory Units -- Communications Layers -- Putting the Fundamental Elements Together 
505 8 |a 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 -- Chapter 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 
505 8 |a 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 Complexity -- Unit Testing During Optimization to Maintain Correctness -- No-op @profile Decorator -- Strategies to Profile Your Code Successfully -- Wrap-Up -- Chapter 3. Lists and Tuples -- A More Efficient Search -- Lists Versus Tuples -- Lists as Dynamic Arrays -- Tuples as Static Arrays -- Wrap-Up -- Chapter 4. Dictionaries and Sets -- How Do Dictionaries and Sets Work? 
505 8 |a Inserting and Retrieving -- Deletion -- Resizing -- Hash Functions and Entropy -- Dictionaries and Namespaces -- Wrap-Up -- Chapter 5. Iterators and Generators -- Iterators for Infinite Series -- Lazy Generator Evaluation -- Wrap-Up -- Chapter 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 
505 8 |a 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 -- Wrap-Up -- Chapter 7. Compiling to C -- What Sort of Speed Gains Are Possible? -- JIT Versus AOT Compilers 
500 |a Why Does Type Information Help the Code Run Faster? 
588 0 |a Online resource; title from digital title page (viewed on June 30, 2020). 
504 |a Includes bibliographical references and index. 
520 |a Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation. How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more. Get a better grasp of NumPy, Cython, and profilers Learn how Python abstracts the underlying computer architecture Use profiling to find bottlenecks in CPU time and memory usage Write efficient programs by choosing appropriate data structures Speed up matrix and vector computations Use tools to compile Python down to machine code Manage multiple I/O and computational operations concurrently Convert multiprocessing code to run on local or remote clusters Deploy code faster using tools like Docker. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Python (Computer program language) 
650 6 |a Python (Langage de programmation) 
650 7 |a Python (Computer program language)  |2 fast 
700 1 |a Ozsvald, Ian,  |e author. 
776 0 8 |i Print version:  |a Gorelick, Micha.  |t High Performance Python : Practical Performant Programming for Humans.  |d Sebastopol : O'Reilly Media, Incorporated, ©2020 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781492055013/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH38049680 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL6187185 
938 |a EBSCOhost  |b EBSC  |n 2461161 
938 |a YBP Library Services  |b YANK  |n 301256148 
994 |a 92  |b IZTAP