|
| 1 | +# My Final Year Project / Bachelors' Theses |
| 2 | + |
| 3 | +Today I submitted my final year project. |
| 4 | +Fingers crossed I get to graduate! |
| 5 | + |
| 6 | +This was supervised by Manuel Rigger and Stefan Marr. I **have** |
| 7 | +to give a shoutout to Michael Droettboom as well for being so generous |
| 8 | +with benchmarking help. I have to also thank CF Bolz Tereick for |
| 9 | +helping me to better understand PyPy in the process. |
| 10 | + |
| 11 | +Every CPython contributor working with me also deserves thanks. However, |
| 12 | +if I list them all here, the list will go on too long. So I'm sorry that |
| 13 | +you're not specificially mentioned here! |
| 14 | + |
| 15 | +Read it if you want to learn more about: |
| 16 | +* Various JIT compiler architectures |
| 17 | + 1. Method |
| 18 | + 2. Tracing |
| 19 | + 3. Meta-tracing (PyPy) |
| 20 | + 4. Meta-interpreters (GraalVM) |
| 21 | + 5. Lazy basic block versioning (YJIT) |
| 22 | + 6. Tracelets (HHVM) |
| 23 | +* Various experiments I tried out in CPython: |
| 24 | + 1. A tail-calling interpreter. |
| 25 | + 2. Partial evaluation of traces. |
| 26 | + 3. Tracing from function entrypoints. |
| 27 | + 4. A method JIT (CPython is currently tracing JIT). |
| 28 | + 5. A baseline JIT. |
| 29 | + 6. Superinstructions |
| 30 | + |
| 31 | +Out of the above, the tail-calling interpreter has been upstreamed. |
| 32 | +Tracing from function entrypoints is likely to be upstreamed by not in its |
| 33 | +current form. |
| 34 | + |
| 35 | +Read more [here](../resources/FYP%20Final%20Report%20H341100.pdf). |
| 36 | + |
| 37 | +And when I say I hope I graduate ...I really mean it... Design and Analysis |
| 38 | +of Algorithms is really tough! |
| 39 | + |
0 commit comments