An open API service indexing awesome lists of open source software.

https://github.com/mikma03/high-performance-python

High-performance Python in practice. Examples of code optimization using various methods and packages.
https://github.com/mikma03/high-performance-python

advanced-programming code-optimization code-profiling cython numba oop python3

Last synced: about 1 month ago
JSON representation

High-performance Python in practice. Examples of code optimization using various methods and packages.

Awesome Lists containing this project

README

          

# High-performance-Python

- [High-performance-Python](#high-performance-python)
- [Detailed information in chapters](#detailed-information-in-chapters)
- [Additionals materials](#additionals-materials)

# Detailed information in chapters

* Chapter 1: Profiling

- What are the ways to profile your code?

- What insights can I gain from a profile?

* Chapter 2: Understanding Performant Programming

- How does a computer work and how does that affect my code performance?

* Chapter 3: Lists and Tuples

- How do lists and tuples work?

- What are the performance implications of this?

* Chapter 4: Dictionaries and Sets

- How do dictionaries and sets work?

- What are the performance implications of this?

* Chapter 5: Iterators

- How do iterators work?

- How can I use them to reduce memory in my code?

- How can I use them to reduce the CPU operations needed in my code?

* Chapter 6: Matrix and Vector Computation

- How does the CPU perform matrix/vector operations?

- What are the ways I can profile the efficiency of these operations?

- How can I speed up code given a profile?

* Chapter 7: Compiling to C

- What are the automated ways to compile my python to C?

- What are the manual ways to compile my python to C?

- How can I use these technologies to speed up my code and not slow down development?

* Chapter 8: Concurrency

- How does concurrency work and how does python support it?

- How can I speed up multiple IO operations?

- How can I hide IO wait?

* Chapter 9: Multiprocessing

- What is multiprocessing?

- How can I speed up my code on a multiple CPU machine?

- What are the subtleties of muli-CPU code?

* Chapter 10: Clusters and Job Queues

- How can I extend my code to a cluster?

- What are some of the pain-points with clusters?

- What is a queue and how is it useful?

* Chapter 11: Using Less Ram

- How can I use algorithms to reduce the RAM usage of my code?

- What are tries and probabilistic data structures?

# Additionals materials

- High-Performance Computing with Python 3.x
- https://subscription.packtpub.com/video/application-development/9781789956252/101415/101437/introduction-to-cython