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.
- Host: GitHub
- URL: https://github.com/mikma03/high-performance-python
- Owner: Mikma03
- License: mit
- Created: 2021-12-15T22:03:43.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-24T05:32:52.000Z (over 3 years ago)
- Last Synced: 2025-02-26T10:45:01.411Z (10 months ago)
- Topics: advanced-programming, code-optimization, code-profiling, cython, numba, oop, python3
- Language: Python
- Homepage: https://github.com/Mikma03/High-performance-Python
- Size: 13.8 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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