GitXplorerGitXplorer
F

cpython_optimization_notes

public
5 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
a23a9ac66f4ffd2d4a4eb0e80c0dc712275f823f

cleanup

FFidget-Spinner committed 8 months ago
Unverified
eb9e4625afe0a98a09bc1b245ea49439d8838286

new design of uops as the IR

FFidget-Spinner committed 8 months ago
Unverified
08214c33af6020b401b58a99bc65781e51f84df1

fix typos

FFidget-Spinner committed 8 months ago
Unverified
7eb57ffeb925e962278fa41205aeae8cb7240d27

Create uops_optimizer.md

FFidget-Spinner committed 8 months ago
Unverified
838c9ad157f07a247e3ec94ed0e50a6784a0a029

Compact object layouts

FFidget-Spinner committed 3 years ago
Unverified
f73c279327da1842f938a4f01d27805d7f1dac42

Fix formatting, rephrase verbose sections

FFidget-Spinner committed 3 years ago

README

The README file for this repository.

CPython Optimization Notes

Introduction

CPython is the reference implementation of the Python programming language.

In this document, I’ll summarise major speedups to the core parts of CPython in the following versions:

  • 3.11

To get the most out of this, you should have knowledge of Python (especially in data model/dunder methods). Being able to read C is also a plus though not strictly necessary. Some knowledge of common data structures (hash tables, linkedlist, etc.) is also beneficial.

If you’re interested in the internals of CPython, and/or want to contribute, I believe this document has some educational value for you. If you find any parts hard to understand due to poor wording or plain inaccuracies, please open a PR!

Dive in by reading the index for 3.11.

Related Reading

I only list resources I’ve read before. I’m in no way affiliated with any of these works (except the devguide 😉):