Book description
Build software that combines Python’s expressivity with the performance and control of C (and C++). It’s possible with Cython, the compiler and hybrid programming language used by foundational packages such as NumPy. In this practical guide, you’ll learn how to use Cython to improve Python’s performance—up to 3000x— and to wrap C and C++ libraries in Python with ease. Author Kurt Smith takes you through Cython’s capabilities, with sample code and in-depth practice exercises.
Table of contents
- Dedication
- Preface
- 1. Cython Essentials
- 2. Compiling and Running Cython Code
-
3. Cython in Depth
- Interpreted Versus Compiled Execution
- Dynamic Versus Static Typing
- Static Type Declaration with cdef
- Cython’s Three Kinds of Functions
- Type Coercion and Casting
- Declaring and Using structs, unions, and enums
- Type Aliasing with ctypedef
- Cython for Loops and while Loops
- The Cython Preprocessor
- Bridging the Python 2 and Python 3 Divide
- Summary
- 4. Cython in Practice: N-Body Simulation
- 5. Cython and Extension Types
- 6. Organizing Cython Code
-
7. Wrapping C Libraries with Cython
- Declaring External C Code in Cython
- Declaring External C Functions and typedefs
- Declaring and Wrapping C structs, unions, and enums
- Wrapping C Functions
- Wrapping C structs with Extension Types
- Constants, Other Modifiers, and Controlling What Cython Generates
- Error Checking and Raising Exceptions
- Callbacks
- Summary
- 8. Wrapping C++ Libraries with Cython
- 9. Cython Profiling Tools
- 10. Cython, NumPy, and Typed Memoryviews
- 11. Cython in Practice: Spectral Norm
- 12. Parallel Programming with Cython
- 13. Cython in Context
- Index
- Colophon
- Copyright
Product information
- Title: Cython
- Author(s):
- Release date: January 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491901557
You might also like
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Advanced Python Programming
Create distributed applications with clever design patterns to solve complex problems Key Features Set up and …